Condividi tramite


Funzione FindExecutableA (shellapi.h)

Recupera il nome e l'handle nel file eseguibile (.exe) associato a un file di documento specifico.

Sintassi

HINSTANCE FindExecutableA(
  [in]           LPCSTR lpFile,
  [in, optional] LPCSTR lpDirectory,
  [out]          LPSTR  lpResult
);

Parametri

[in] lpFile

Tipo: LPCTSTR

Indirizzo di un nullstringa con terminazione che specifica un nome di file. Questo file deve essere un documento.

[in, optional] lpDirectory

Tipo: LPCTSTR

Indirizzo di un nullstringa con terminazione che specifica la directory predefinita. Questo valore può essere NULL.

[out] lpResult

Tipo: LPTSTR

Indirizzo di un buffer che riceve il nome file del file eseguibile associato. Questo nome file è un nullstringa con terminazione che specifica il file eseguibile avviato quando viene eseguita un'associazione "aperta" per associazione nel file specificato nel parametro lpFile. In poche parole, questa è l'applicazione che viene avviata quando il file di documento viene fatto doppio clic o quando si sceglie Apri dal menu di scelta rapida del file. Questo parametro deve contenere un valore non validovalore null e si presuppone che sia di lunghezza MAX_PATH. La responsabilità di convalidare il valore viene lasciata al programmatore.

Valore restituito

Tipo: HINSTANCE

Restituisce un valore maggiore di 32 se ha esito positivo oppure un valore minore o uguale a 32 che rappresenta un errore.

Nella tabella seguente sono elencati i possibili valori di errore.

Codice/valore restituito Descrizione
SE_ERR_FNF
2
Impossibile trovare il file specificato.
SE_ERR_PNF
3
Il percorso specificato non è valido.
SE_ERR_ACCESSDENIED
5
Impossibile accedere al file specificato.
SE_ERR_OOM
8
Il sistema non è disponibile nella memoria o nelle risorse.
SE_ERR_NOASSOC
31
Non esiste alcuna associazione per il tipo di file specificato con un file eseguibile.

Osservazioni

Usare FindExecutable per i documenti. Se si desidera recuperare il percorso di un file eseguibile, usare quanto segue:

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

In questo caso, pszExecutableName è un puntatore a un nullstringa con terminazione che specifica il nome del file eseguibile, pszPath è un puntatore al buffer di stringa null nullche riceve il percorso del file eseguibile e pcchOut è un puntatore a un DWORD che specifica il numero di caratteri nel buffer pszPath. Quando la funzione viene restituita, pcchOut viene impostato sul numero di caratteri effettivamente inseriti nel buffer. Per altre informazioni, vedere AssocQueryString.

Quando viene restituito FindExecutable, il parametro lpResult può contenere il percorso del server DDE (Dynamic Data Exchange) avviato se un server non risponde a una richiesta per avviare una conversazione DDE con l'applicazione client DDE.

Nota

L'intestazione shellapi.h definisce FindExecutable come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shellapi.h
libreria Shell32.lib
dll Shell32.dll

Vedere anche

ShellExecute