Поделиться через


Метод 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)

Этот флаг недопустим в этом методе. Чтобы задать для индикатора выполнения режим шайбы, используйте флаги в 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 доступ к экземпляру объекта CLSID_ProgressDialog будет невозможен с помощью IProgressDialog, IActionProgressDialog или IActionProgress. Хотя для доступа к этим интерфейсам можно использовать QueryInterface , большинство их методов нельзя вызвать. IOperationsProgressDialog — это интерфейс, используемый для отображения нового диалогового окна хода выполнения для операционной системы Windows Vista и более поздних версий.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)