Função FindExecutableW (shellapi.h)
Recupera o nome e o identificador para o arquivo executável (.exe) associado a um arquivo de documento específico.
Sintaxe
HINSTANCE FindExecutableW(
[in] LPCWSTR lpFile,
[in, optional] LPCWSTR lpDirectory,
[out] LPWSTR lpResult
);
Parâmetros
[in] lpFile
Tipo: LPCTSTR
O endereço de uma cadeia de caracteres terminada em nulo que especifica um nome de arquivo. Esse arquivo deve ser um documento.
[in, optional] lpDirectory
Tipo: LPCTSTR
O endereço de uma cadeia de caracteres terminada em nulo que especifica o diretório padrão. Esse valor pode ser NULL.
[out] lpResult
Tipo: LPTSTR
O endereço de um buffer que recebe o nome do arquivo executável associado. Esse nome de arquivo é uma cadeia de caracteres terminada em nulo que especifica o arquivo executável iniciado quando um "open" por associação é executado no arquivo especificado no parâmetro lpFile . Simplificando, esse é o aplicativo que é iniciado quando o arquivo de documento é clicado diretamente duas vezes ou quando Open é escolhido no menu de atalho do arquivo. Esse parâmetro deve conter um valor não nulo válido e é considerado de comprimento MAX_PATH. A responsabilidade de validar o valor é deixada para o programador.
Retornar valor
Tipo: HINSTANCE
Retorna um valor maior que 32 se bem-sucedido ou um valor menor ou igual a 32 que representa um erro.
A tabela a seguir lista os valores de erro possíveis.
Valor/código retornado | Descrição |
---|---|
|
O arquivo especificado não foi encontrado. |
|
O caminho especificado é inválido. |
|
O arquivo especificado não pode ser acessado. |
|
O sistema está sem memória ou recursos. |
|
Não há associação para o tipo de arquivo especificado com um arquivo executável. |
Comentários
Use FindExecutable para documentos. Se você quiser recuperar o caminho de um arquivo executável, use o seguinte:
AssocQueryString(ASSOCF_OPEN_BYEXENAME,
ASSOCSTR_EXECUTABLE,
pszExecutableName,
NULL,
pszPath,
pcchOut);
Aqui, pszExecutableName é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do arquivo executável, pszPath é um ponteiro para o buffer de cadeia de caracteres terminada em nulo que recebe o caminho para o arquivo executável e pcchOut é um ponteiro para um DWORD que especifica o número de caracteres no buffer pszPath . Quando a função retorna, pcchOut é definido como o número de caracteres realmente colocados no buffer. Consulte AssocQueryString para obter mais informações.
Quando FindExecutable retorna, o parâmetro lpResult pode conter o caminho para o servidor DDE (Dynamic Data Exchange) iniciado se um servidor não responder a uma solicitação para iniciar uma conversa DDE com o aplicativo cliente DDE.
Observação
O cabeçalho shellapi.h define FindExecutable como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shellapi.h |
Biblioteca | Shell32.lib |
DLL | Shell32.dll |