FindExecutableW-Funktion (shellapi.h)

Ruft den Namen und das Handle für die ausführbare Datei (.exe) ab, die einer bestimmten Dokumentdatei zugeordnet ist.

Syntax

HINSTANCE FindExecutableW(
  [in]           LPCWSTR lpFile,
  [in, optional] LPCWSTR lpDirectory,
  [out]          LPWSTR  lpResult
);

Parameter

[in] lpFile

Typ: LPCTSTR

Die Adresse einer NULL-beendeten Zeichenfolge, die einen Dateinamen angibt. Diese Datei sollte ein Dokument sein.

[in, optional] lpDirectory

Typ: LPCTSTR

Die Adresse einer NULL-beendeten Zeichenfolge, die das Standardverzeichnis angibt. Dieser Wert kann NULL sein.

[out] lpResult

Typ: LPTSTR

Die Adresse eines Puffers, der den Dateinamen der zugeordneten ausführbaren Datei empfängt. Dieser Dateiname ist eine NULL-beendete Zeichenfolge, die die ausführbare Datei angibt, die gestartet wird, wenn eine "open by"-Zuordnung für die im lpFile-Parameter angegebene Datei ausgeführt wird. Einfach ausgedrückt, dies ist die Anwendung, die gestartet wird, wenn die Dokumentdatei direkt doppelt geklickt wird oder wenn Öffnen im Kontextmenü der Datei ausgewählt wird. Dieser Parameter muss einen gültigen Wert ungleich NULL enthalten, und es wird davon ausgegangen, dass er MAX_PATH lang ist. Die Verantwortung für die Überprüfung des Werts liegt beim Programmierer.

Rückgabewert

Typ: HINSTANCE

Gibt bei erfolgreicher Ausführung einen Wert größer als 32 oder einen Wert kleiner als oder gleich 32 zurück, der einen Fehler darstellt.

In der folgenden Tabelle sind mögliche Fehlerwerte aufgeführt.

Rückgabecode/-wert BESCHREIBUNG
SE_ERR_FNF
2
Die angegebene Datei wurde nicht gefunden.
SE_ERR_PNF
3
Der angegebene Pfad ist ungültig.
SE_ERR_ACCESSDENIED
5
Auf die angegebene Datei kann nicht zugegriffen werden.
SE_ERR_OOM
8
Das System verfügt nicht über Arbeitsspeicher oder Ressourcen.
SE_ERR_NOASSOC
31
Es gibt keine Zuordnung für den angegebenen Dateityp mit einer ausführbaren Datei.

Hinweise

Verwenden Sie FindExecutable für Dokumente. Wenn Sie den Pfad einer ausführbaren Datei abrufen möchten, verwenden Sie Folgendes:

AssocQueryString(ASSOCF_OPEN_BYEXENAME,
                 ASSOCSTR_EXECUTABLE,
                 pszExecutableName,
                 NULL,
                 pszPath,
                 pcchOut);

Hier ist pszExecutableName ein Zeiger auf eine null-beendete Zeichenfolge, die den Namen der ausführbaren Datei angibt, pszPath ist ein Zeiger auf den null-beendeten Zeichenfolgenpuffer, der den Pfad zur ausführbaren Datei empfängt, und pcchOut ist ein Zeiger auf ein DWORD , das die Anzahl der Zeichen im pszPath-Puffer angibt. Wenn die Funktion zurückgibt, wird pcchOut auf die Anzahl der Zeichen festgelegt, die tatsächlich im Puffer platziert sind. Weitere Informationen finden Sie unter AssocQueryString .

Wenn FindExecutable zurückgibt, kann der lpResult-Parameter den Pfad zum gestarteten DDE-Server (Dynamic Data Exchange) enthalten, wenn ein Server nicht auf eine Anforderung zum Initiieren einer DDE-Konversation mit der DDE-Clientanwendung antwortet.

Hinweis

Der shellapi.h-Header definiert FindExecutable als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shellapi.h
Bibliothek Shell32.lib
DLL Shell32.dll

Weitere Informationen

ShellExecute