Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Эта функция доступна в Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003. Он может быть изменен или недоступен в последующих версиях Windows.]
Выполняет операцию с указанным файлом. WOWShellExecute существует только для использования с виртуальной doS-машиной Microsoft Windows NT (Ntvdm.exe), которая позволяет работать с дисковой операционной системой (DOS) и 16-разрядным программным обеспечением в системе Windows и не должна использоваться другими пользователями. Вместо этого используйте ShellExecute .
Синтаксис
HINSTANCE WOWShellExecute(
_In_ HWND hwnd,
_In_ LPCTSTR lpOperation,
_In_ LPCTSTR lpFile,
_In_ LPCTSTR lpParameters,
_In_ LPCTSTR lpDirectory,
_In_ INT nShowCmd,
void *lpfnCBWinExec
);
Параметры
-
hwnd [in]
-
Тип: HWND
Дескриптор окна владельца, используемого для отображения пользовательского интерфейса или сообщений об ошибках. Это значение может иметь значение NULL , если операция не связана с окном.
-
lpOperation [in]
-
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, которая в данном случае называется глаголом, указывающая выполняемое действие. Набор доступных команд зависит от конкретного файла или папки. Как правило, действия, доступные в контекстном меню объекта, являются доступными командами. Дополнительные сведения об глаголах и их доступности см. в разделе Object Verbsстатьи Запуск приложений. Дополнительные сведения о контекстных меню см. в разделе Расширение контекстных меню. Обычно используются следующие команды.
-
Редактировать
-
Запускает редактор и открывает документ для редактирования. Если lpFile не является файлом документа, функция завершится ошибкой.
-
Исследовать
-
Просматривает папку, указанную в lpFile.
-
Найти
-
Инициирует поиск, начиная с указанного каталога.
-
Открыть
-
Открывает файл, указанный параметром lpFile . Файл может быть исполняемым файлом, файлом документа или папкой.
-
Печати
-
Печатает файл документа, указанный lpFile. Если lpFile не является файлом документа, функция завершится ошибкой.
-
NULL
-
Для систем до Windows 2000 используется команда по умолчанию, если она действительна и доступна в реестре. В противном случае используется команда "открыть".
Для windows 2000 и более поздних версий используется команда по умолчанию, если она доступна. В противном случае используется команда "открыть". Если ни указанная команда не доступна, система использует первую команду, указанную в реестре.
lpFile [in]
Тип: LPCTSTR
Указатель на строку, завершающуюся нулевым значением, которая указывает файл или объект, для которого выполняется указанная команда. Чтобы указать объект пространства имен оболочки, передайте полное имя синтаксического анализа. Обратите внимание, что не все команды поддерживаются для всех объектов. Например, не все типы документов поддерживают команду "печать".
lpParameters [in]
Тип: LPCTSTR
Если параметр lpFile указывает исполняемый файл, lpParameters — это указатель на строку, завершающуюся null, которая указывает параметры, передаваемые приложению. Формат этой строки определяется вызываемой командой. Если lpFile указывает файл документа, значение lpParameters должно иметь значение NULL.
lpDirectory [in]
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, которая указывает каталог по умолчанию.
nShowCmd [in]
Тип: INT
Флаги, указывающие способ отображения приложения при его открытии. Если lpFile указывает файл документа, флаг просто передается в связанное приложение. Решение о том, как его обрабатывать, принимает приложение. Это может быть любое из значений, которые можно указать в параметре nCmdShow для функции ShowWindow .
lpfnCBWinExec
Тип: void*
Функция обратного вызова, используемая для вызова CreateProcess в 16-разрядном ядре.
Возвращаемое значение
Тип: HINSTANCE
Возвращает значение больше 32 в случае успешного выполнения или значение ошибки, которое меньше или равно 32 в противном случае. В следующей таблице перечислены значения ошибок. Возвращаемое значение приводится как HINSTANCE для обратной совместимости с 16-разрядными приложениями Windows. Это не настоящий HINSTANCE, однако. Единственное, что можно сделать с возвращаемым HINSTANCE, — привести его к int и сравнить со значением 32 или одним из приведенных ниже кодов ошибок.
Код возврата | Описание |
---|---|
|
В операционной системе не хватает памяти или ресурсов. |
|
Указанный файл не найден. |
|
Указанный путь не найден. |
|
Файл .exe недопустим (.exe не Win32 или ошибка в .exe образе). |
|
Операционная система запретила доступ к указанному файлу. |
|
Связь с именем файла неполная или недопустимая. |
|
Не удалось завершить транзакцию DDE, так как обрабатывались другие транзакции DDE. |
|
Сбой транзакции DDE. |
|
Не удалось завершить транзакцию DDE, так как истекло время ожидания запроса. |
|
Указанная библиотека DLL не найдена. |
|
Указанный файл не найден. |
|
Нет приложения, связанного с заданным расширением имени файла. Эта ошибка также будет возвращена при попытке распечатать файл, который недоступен для печати. |
|
Недостаточно памяти для завершения операции. |
|
Указанный путь не найден. |
|
Произошло нарушение общего доступа. |
Комментарии
WOWShellExecute не включается в заголовок или LIB-файл. Экспортируется из Shell32.dll по имени.
Этот метод позволяет выполнять любые команды в контекстном меню папки или хранящиеся в реестре.
Если lpOperation имеет значение NULL, функция открывает файл, указанный в lpFile. Если lpOperation имеет значение "open" или "explore", функция пытается открыть или изучить папку.
Чтобы получить сведения о приложении, которое запускается в результате вызова WOWShellExecute, используйте ShellExecuteEx.
Примечание
Окно запуска папки в отдельном процессе в разделе Параметры папки влияет на WOWShellExecute. Если этот параметр отключен (параметр по умолчанию), WOWShellExecute использует открытое окно Обозреватель вместо запуска нового. Если окно Обозреватель не открыто, WOWShellExecute запускает новое окно.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
DLL |
|
См. также раздел