Freigeben über


WOWShellExecute-Funktion

[Diese Funktion ist über Windows XP mit Service Pack 2 (SP2) und Windows Server 2003 verfügbar. In nachfolgenden Windows-Versionen ist sie möglicherweise geändert oder nicht verfügbar.]

Führt einen Vorgang für eine angegebene Datei aus. WOWShellExecute ist nur für die Verwendung mit dem Microsoft Windows NT Virtual DOS-Computer (Ntvdm.exe) verfügbar, der die Ausführung von Datenträgerbetriebssystem (DOS) und 16-Bit-Software auf einem Windows-System ermöglicht und nicht von anderen Benutzern verwendet werden sollte. Verwenden Sie stattdessen ShellExecute .

Syntax

HINSTANCE WOWShellExecute(
  _In_ HWND    hwnd,
  _In_ LPCTSTR lpOperation,
  _In_ LPCTSTR lpFile,
  _In_ LPCTSTR lpParameters,
  _In_ LPCTSTR lpDirectory,
  _In_ INT     nShowCmd,
       void    *lpfnCBWinExec
);

Parameter

hwnd [in]

Typ: HWND

Ein Handle für das Besitzerfenster, das zum Anzeigen einer Benutzeroberfläche oder Fehlermeldungen verwendet wird. Dieser Wert kann NULL sein, wenn der Vorgang keinem Fenster zugeordnet ist.

lpOperation [in]

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge, die in diesem Fall als Verb bezeichnet wird, der die auszuführende Aktion angibt. Der Satz verfügbarer Verben hängt von der jeweiligen Datei oder dem jeweiligen Ordner ab. Im Allgemeinen sind die im Kontextmenü eines Objekts verfügbaren Aktionen verfügbare Verben. Weitere Informationen zu Verben und deren Verfügbarkeit finden Sie im Abschnitt Objektverben unter Starten von Anwendungen. Weitere Informationen zu Kontextmenüs finden Sie unter Erweitern von Kontextmenüs . Die folgenden Verben werden häufig verwendet.

Bearbeiten

Startet einen Editor und öffnet das Dokument zur Bearbeitung. Wenn lpFile keine Dokumentdatei ist, schlägt die Funktion fehl.

Erkunden

Untersucht den von lpFile angegebenen Ordner.

Finden

Initiiert eine Suche ab dem angegebenen Verzeichnis.

Öffnen

Öffnet die durch den lpFile-Parameter angegebene Datei. Die Datei kann eine ausführbare Datei, eine Dokumentdatei oder ein Ordner sein.

Drucken

Gibt die von lpFile angegebene Dokumentdatei aus. Wenn lpFile keine Dokumentdatei ist, schlägt die Funktion fehl.

NULL

Für Systeme vor Windows 2000 wird das Standardverb verwendet, wenn es gültig und in der Registrierung verfügbar ist. Andernfalls wird das Verb "offen" verwendet.

Für Windows 2000- und höher-Systeme wird das Standardverb verwendet, sofern verfügbar. Andernfalls wird das Verb "offen" verwendet. Wenn kein Verb verfügbar ist, verwendet das System das erste Verb, das in der Registrierung aufgeführt ist.

lpFile [in]

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge, die die Datei oder das Objekt angibt, für die das angegebene Verb ausgeführt werden soll. Um ein Shell-Namespaceobjekt anzugeben, übergeben Sie den vollqualifizierten Analysenamen. Beachten Sie, dass nicht alle Verben für alle Objekte unterstützt werden. Beispielsweise unterstützen nicht alle Dokumenttypen das Verb "drucken".

lpParameters [in]

Typ: LPCTSTR

Wenn der lpFile-Parameter eine ausführbare Datei angibt, ist lpParameters ein Zeiger auf eine null-beendete Zeichenfolge, die die Parameter angibt, die an die Anwendung übergeben werden sollen. Das Format dieser Zeichenfolge wird durch das Verb bestimmt, das aufgerufen werden soll. Wenn lpFile eine Dokumentdatei angibt, sollte lpParametersNULL sein.

lpDirectory [in]

Typ: LPCTSTR

Ein Zeiger auf eine NULL-Zeichenfolge, die das Standardverzeichnis angibt.

nShowCmd [in]

Typ: INT

Die Flags, die angeben, wie eine Anwendung beim Öffnen angezeigt werden soll. Wenn lpFile eine Dokumentdatei angibt, wird das Flag einfach an die zugehörige Anwendung übergeben. Die Anwendung entscheidet, wie sie behandelt werden soll. Es kann sich um einen der Werte handeln, die im nCmdShow-Parameter für die ShowWindow-Funktion angegeben werden können.

lpfnCBWinExec

Typ: void*

Rückruffunktion, die zum Aufrufen von CreateProcess im 16-Bit-Kernel verwendet wird.

Rückgabewert

Typ: HINSTANCE

Gibt bei erfolgreicher Ausführung einen Wert größer als 32 zurück, andernfalls einen Fehlerwert, der kleiner oder gleich 32 ist. In der folgenden Tabelle sind die Fehlerwerte aufgeführt. Der Rückgabewert wird für die Abwärtskompatibilität mit 16-Bit-Windows-Anwendungen als HINSTANCE umgewandelt. Es ist jedoch kein wahrer HINWEIS. Das einzige, was mit dem zurückgegebenen HINSTANCE getan werden kann, besteht darin, es in ein int zu umwandeln und mit dem Wert 32 oder einem der folgenden Fehlercodes zu vergleichen.

Rückgabecode Beschreibung
0
Das Betriebssystem verfügt nicht über Arbeitsspeicher oder Ressourcen.
ERROR_FILE_NOT_FOUND
Die angegebene Datei wurde nicht gefunden.
ERROR_PATH_NOT_FOUND
Der angegebene Pfad wurde nicht gefunden.
ERROR_BAD_FORMAT
Die .exe-Datei ist ungültig (nicht win32-.exe oder Fehler in .exe Bild).
SE_ERR_ACCESSDENIED
Das Betriebssystem verweigerte den Zugriff auf die angegebene Datei.
SE_ERR_ASSOCINCOMPLETE
Die Dateinamenzuordnung ist unvollständig oder ungültig.
SE_ERR_DDEBUSY
Die DDE-Transaktion konnte nicht abgeschlossen werden, da andere DDE-Transaktionen verarbeitet wurden.
SE_ERR_DDEFAIL
Fehler bei der DDE-Transaktion.
SE_ERR_DDETIMEOUT
Die DDE-Transaktion konnte nicht abgeschlossen werden, da für die Anforderung ein Timeout war.
SE_ERR_DLLNOTFOUND
Die angegebene DLL wurde nicht gefunden.
SE_ERR_FNF
Die angegebene Datei wurde nicht gefunden.
SE_ERR_NOASSOC
Der angegebenen Dateinamenerweiterung ist keine Anwendung zugeordnet. Dieser Fehler wird auch zurückgegeben, wenn Sie versuchen, eine Datei zu drucken, die nicht druckbar ist.
SE_ERR_OOM
Es war nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen.
SE_ERR_PNF
Der angegebene Pfad wurde nicht gefunden.
SE_ERR_SHARE
Ein Verstoß gegen die Freigabe ist aufgetreten.

 

Bemerkungen

WOWShellExecute ist nicht in einer Header- oder LIB-Datei enthalten. Es wird anhand des Namens aus Shell32.dll exportiert.

Mit dieser Methode können Sie alle Befehle im Kontextmenü eines Ordners ausführen oder in der Registrierung gespeichert sein.

Wenn lpOperationNULL ist, öffnet die Funktion die durch lpFile angegebene Datei. Wenn lpOperation auf "open" oder "explore" festgelegt ist, versucht die Funktion, den Ordner zu öffnen oder zu durchsuchen.

Verwenden Sie ShellExecuteEx, um Informationen zu der Anwendung abzurufen, die als Ergebnis des Aufrufs von WOWShellExecute gestartet wird.

Hinweis

Die Einstellung Ordner in einem separaten Prozess starten unter Ordneroptionen wirkt sich auf WOWShellExecute aus. Wenn diese Option deaktiviert ist (die Standardeinstellung), verwendet WOWShellExecute ein geöffnetes Explorer Fenster, anstatt ein neues zu starten. Wenn kein Explorer Fenster geöffnet ist, startet WOWShellExecute ein neues Fenster.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
DLL
Shell32.dll

Siehe auch

ShellExecute