WOWShellExecute-Funktion
[Diese Funktion ist über Windows XP mit Service Pack 2 (SP2) und Windows Server 2003 verfügbar. Sie kann in nachfolgenden Versionen von geändert oder nicht verfügbar Windows.]
Führt einen Vorgang für eine angegebene Datei aus. WOWShellExecute ist nur für die Verwendung mit dem virtuellen MICROSOFT WINDOWS-DOS-Computer (Ntvdm.exe) vorhanden, der die Ausführung von Datenträgerbetriebssystem (DISK OPERATING SYSTEM, 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 von Fehlermeldungen verwendet wird. Dieser Wert kann NULL sein, wenn der Vorgang nicht einem Fenster zugeordnet ist.
-
lpOperation [ In]
-
Typ: LPCTSTR
Ein Zeiger auf eine mit NULL beendete Zeichenfolge, die in diesem Fall als Verb bezeichnet wird und die durchzuführende Aktion angibt. Der Satz der verfügbaren Verben hängt von der jeweiligen Datei oder dem Jeweiligen Ordner ab. Im Allgemeinen sind die aktionen, die über das Kontextmenü eines Objekts verfügbar sind, Verben verfügbar. 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, kann die Funktion nicht verwendet werden.
-
Erkunden
-
Untersucht den durch 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 durch lpFile angegebene Dokumentdatei aus. Wenn lpFile keine Dokumentdatei ist, kann die Funktion nicht verwendet werden.
-
Null
-
Bei Systemen vor Windows 2000 wird das Standardverb verwendet, wenn es gültig und in der Registrierung verfügbar ist. Wenn nicht, wird das Verb "open" verwendet.
Für Windows 2000- und höher-Systeme wird das Standardverb verwendet, falls verfügbar. Wenn nicht, wird das Verb "open" 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 mit NULL beendete Zeichenfolge, die die Datei oder das Objekt angibt, für die bzw. das 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 "print".
lpParameters [ In]
Typ: LPCTSTR
Wenn der lpFile-Parameter eine ausführbare Datei angibt, ist lpParameters ein Zeiger auf eine mit 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 lpParameters NULL sein.
lpDirectory [ In]
Typ: LPCTSTR
Ein Zeiger auf eine mit NULL beendete 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 zugeordnete Anwendung übergeben. Es liegt an der Anwendung, zu entscheiden, wie sie damit umgegangen werden soll. Dies kann einer der Werte sein, die im nCmdShow-Parameter für die ShowWindow-Funktion angegeben werden können.
lpfnCBWinExec
Typ: * void
Rückruffunktion zum Aufrufen von CreateProcess im 16-Bit-Kernel.
Rückgabewert
Typ: HINSTANCE
Gibt bei Erfolg einen Wert größer als 32 oder andernfalls einen Fehlerwert zurück, der kleiner oder gleich 32 ist. In der folgenden Tabelle sind die Fehlerwerte aufgeführt. Der Rückgabewert wird aus Gründen der Abwärtskompatibilität mit 16-Bit-Windows in HINSTANCE-Windows werden. Es handelt sich jedoch nicht um eine echte HINSTANCE. Die zurückgegebene HINSTANCE kann nur verwendet werden, um sie in einen int-Wert zu casten und mit dem Wert 32 oder einem der folgenden Fehlercodes zu vergleichen.
| Rückgabecode | Beschreibung |
|---|---|
|
Der Arbeitsspeicher oder die Ressourcen des Betriebssystems sind nicht verfügbar. |
|
Die angegebene Datei wurde nicht gefunden. |
|
Der angegebene Pfad wurde nicht gefunden. |
|
Die .exe ist ungültig (Nicht-Win32-.exe oder Fehler in .exe Image). |
|
Das Betriebssystem hat den Zugriff auf die angegebene Datei verweigert. |
|
Die Dateinamensassoz ist unvollständig oder ungültig. |
|
Die DDE-Transaktion konnte nicht abgeschlossen werden, da andere DDE-Transaktionen verarbeitet wurden. |
|
Fehler bei der DDE-Transaktion. |
|
Die DDE-Transaktion konnte nicht abgeschlossen werden, da bei der Anforderung ein Time out auftlog. |
|
Die angegebene DLL wurde nicht gefunden. |
|
Die angegebene Datei wurde nicht gefunden. |
|
Der angegebenen Dateierweiterung ist keine Anwendung zugeordnet. Dieser Fehler wird auch zurückgegeben, wenn Sie versuchen, eine datei zu drucken, die nicht druckbar ist. |
|
Es war nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abschließen zu können. |
|
Der angegebene Pfad wurde nicht gefunden. |
|
Ein Freigabeverstoß ist aufgetreten. |
Hinweise
WOWShellExecute ist nicht in einer Header- oder LIB-Datei enthalten. Es wird nach Namen aus Shell32.dll exportiert.
Mit dieser Methode können Sie befehle im Kontextmenü eines Ordners ausführen oder in der Registrierung gespeichert werden.
Wenn lpOperation NULL ist, öffnet die Funktion die durch lpFile angegebene Datei. Wenn lpOperation "open" oder "explore" ist, versucht die Funktion, den Ordner zu öffnen oder zu untersuchen.
Um Informationen über die Anwendung zu erhalten, die als Ergebnis des Aufrufs von WOWShellExecute gestartet wird, verwenden Sie ShellExecuteEx.
Hinweis
Die Einstellung Ordner starten in einem separaten Prozess unter Ordneroptionen wirkt sich auf WOWShellExecute aus. Wenn diese Option deaktiviert ist (Standardeinstellung), verwendet WOWShellExecute ein geöffnetes Explorer-Fenster, anstatt ein neues zu starten. Wenn kein Explorer-Fenster geöffnet ist, startet WOWShellExecute ein neues.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
| DLL |
|