IOperationsProgressDialog::StartProgressDialog 方法 (shobjidl_core.h)
啟動指定的進度對話框。
語法
HRESULT StartProgressDialog(
[in] HWND hwndOwner,
[in] OPPROGDLGF flags
);
參數
[in] hwndOwner
類型: HWND
父視窗的句柄。
[in] flags
類型: DWORD
自訂作業的旗標。 請注意,這些旗標會在Shlobj.h中宣告。 下列值的組合:
PROGDLG_NORMAL (0x00000000)
預設、一般進度對話框行為。
PROGDLG_MODAL (0x00000001)
對話框會強制回應其 hwndOwner。 默認設定為無模式。
PROGDLG_AUTOTIME (0x00000002)
以剩餘的時間更新 「Line3」 文字。 此旗標不需要隱含設定,因為 IOperationsProgressDialog::StartProgressDialog 所啟動的進度對話框會自動顯示剩餘的時間。
PROGDLG_NOTIME (0x00000004)
不要顯示剩餘的時間。 不建議透過 IOperationsProgressDialog 來設定此旗標,因為它會違反對話框的目的。
PROGDLG_NOMINIMIZE (0x00000008)
不要顯示最小化按鈕。
PROGDLG_NOPROGRESSBAR (0x00000010)
不要顯示進度列。
PROGDLG_MARQUEEPROGRESS (0x00000020)
這個旗標在此方法中無效。 若要將進度列設定為 marquee 模式,請使用 IOperationsProgressDialog::SetMode 中的旗標。
PROGDLG_NOCANCEL (0x00000040)
請勿顯示取消按鈕,因為無法取消作業。 只有在絕對必要時,才使用此值。
OPPROGDLG_DEFAULT (0x00000000)
Windows 7 和更新版本。 表示預設的正常作業進度對話框行為。
OPPROGDLG_ENABLEPAUSE (0x00000080)
顯示暫停按鈕。 只有在作業可以暫停的情況下,才使用此功能。
OPPROGDLG_ALLOWUNDO (0x00000100)
作業可以透過對話框復原。 [ 停止] 按鈕會變成 [復原]。 如果按下,則 [ 復原] 按鈕會還原為 [停止]。
OPPROGDLG_DONTDISPLAYSOURCEPATH (0x00000200)
請勿在進度對話框中顯示原始程式檔的路徑。
OPPROGDLG_DONTDISPLAYDESTPATH (0x00000400)
請勿在進度對話框中顯示目的地檔案的路徑。
OPPROGDLG_NOMULTIDAYESTIMATES (0x00000800)
Windows 7 和更新版本。 如果預估完成時間大於一天,請勿顯示時間。
OPPROGDLG_DONTDISPLAYLOCATIONS (0x00001000)
Windows 7 和更新版本。 請勿在進度對話框中顯示位置行。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
進度對話框應該建立在與對話框所報告檔案作業不同的線程上。 如果對話框在與檔案作業相同的線程中執行,則進度訊息最好只傳送為資源允許。 與檔案作業相同線程上的進度訊息可能完全不會傳送。
呼叫 IOperationsProgressDialog::StartProgressDialog 之後,IProgressDialog、IActionProgressDialog 或 IActionProgress 就無法存取CLSID_ProgressDialog對象的實例。 雖然 QueryInterface 可以用來存取這些介面,但大部分的方法都無法叫用。 IOperationsProgressDialog 是用來顯示 Windows Vista 和更新版本作業引擎之新進度對話框的介面。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應