Freigeben über


FindExecutableW-Funktion (shellapi.h)

Ruft den Namen der ausführbaren 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--terminated-Zeichenfolge, die einen Dateinamen angibt. Diese Datei sollte ein Dokument sein.

[in, optional] lpDirectory

Typ: LPCTSTR-

Die Adresse einer NULL--terminated-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-terminated string, die die ausführbare Datei angibt, die gestartet wird, wenn eine "open" by Association für die im lpFile Parameter angegebene Datei ausgeführt wird. Dies ist einfach die Anwendung, die gestartet wird, wenn die Dokumentdatei direkt doppelklicken oder wenn Öffnen aus dem Kontextmenü der Datei ausgewählt wird. Dieser Parameter muss einen gültigen wert ohnenull enthalten und wird als Länge MAX_PATH angenommen. Die Verantwortung für die Überprüfung des Werts bleibt dem Programmierer überlassen.

Rückgabewert

Typ: HINSTANCE-

Gibt einen Wert zurück, der größer als 32 ist, wenn dies erfolgreich ist, oder einen Wert kleiner oder gleich 32, der einen Fehler darstellt.

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

Zurückgeben von Code/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 ist nicht genügend Arbeitsspeicher oder Ressourcen.
SE_ERR_NOASSOC
31
Es gibt keine Zuordnung für den angegebenen Dateityp mit einer ausführbaren Datei.

Bemerkungen

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--terminated-Zeichenfolge, die den Namen der ausführbaren Datei angibt, pszPath ist ein Zeiger auf den null--terminated string buffer, der den Pfad zur ausführbaren Datei empfängt, und pcchOut- ist ein Zeiger auf einen DWORD-, der die Anzahl der Zeichen im pszPath Puffer angibt. Wenn die Funktion zurückgegeben wird, wird pcchOut- auf die Anzahl der Zeichen festgelegt, die tatsächlich im Puffer platziert werden. Weitere Informationen finden Sie unter AssocQueryString-.

Wenn FindExecutable- zurückgegeben wird, kann der parameter lpResult den Pfad zum DDE-Server (Dynamic Data Exchange) enthalten, der gestartet wird, wenn ein Server nicht auf eine Anforderung antwortet, um eine DDE-Unterhaltung mit der DDE-Clientanwendung zu initiieren.

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shellapi.h
Library Shell32.lib
DLL- Shell32.dll

Siehe auch

ShellExecute-