Compartir a través de


Función FindExecutableA (shellapi.h)

Recupera el nombre y el identificador del archivo ejecutable (.exe) asociado a un archivo de documento específico.

Sintaxis

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

Parámetros

[in] lpFile

Tipo: LPCTSTR de

Dirección de un cadena terminada en nullque especifica un nombre de archivo. Este archivo debe ser un documento.

[in, optional] lpDirectory

Tipo: LPCTSTR de

La dirección de un cadena terminada en nullque especifica el directorio predeterminado. Este valor puede ser null.

[out] lpResult

Tipo: LPTSTR de

Dirección de un búfer que recibe el nombre de archivo del archivo ejecutable asociado. Este nombre de archivo es un cadena terminadanull que especifica el archivo ejecutable iniciado cuando se ejecuta una asociación "abierta" en el archivo especificado en el parámetro lpFile . En pocas palabras, esta es la aplicación que se inicia cuando el archivo de documento se hace doble clic directamente o cuando se elige Abrir en el menú contextual del archivo. Este parámetro debe contener un valor de null no válidoy se supone que es de longitud MAX_PATH. La responsabilidad de validar el valor se deja al programador.

Valor devuelto

Tipo: HINSTANCE

Devuelve un valor mayor que 32 si se ejecuta correctamente o un valor menor o igual que 32 que representa un error.

En la tabla siguiente se enumeran los posibles valores de error.

Código y valor devueltos Descripción
SE_ERR_FNF
2
No se encontró el archivo especificado.
SE_ERR_PNF
3
La ruta de acceso especificada no es válida.
SE_ERR_ACCESSDENIED
5
No se puede tener acceso al archivo especificado.
SE_ERR_OOM
8
El sistema no tiene memoria o recursos.
SE_ERR_NOASSOC
31
No hay ninguna asociación para el tipo de archivo especificado con un archivo ejecutable.

Observaciones

Use FindExecutable para documentos. Si desea recuperar la ruta de acceso de un archivo ejecutable, use lo siguiente:

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

Aquí, pszExecutableName es un puntero a un cadena terminadanull que especifica el nombre del archivo ejecutable, pszPath es un puntero al búfer de cadena terminado que recibe la ruta de acceso al archivo ejecutable y pcchOut es un puntero a un DWORD que especifica el número de caracteres del búfer de pszPath. Cuando se devuelve la función, pcchOut se establece en el número de caracteres colocados realmente en el búfer. Consulte assocQueryString para obtener más información.

Cuando se devuelve FindExecutable, el parámetro lpResult puede contener la ruta de acceso al servidor de Intercambio dinámico de datos (DDE) iniciado si un servidor no responde a una solicitud para iniciar una conversación de DDE con la aplicación cliente DDE.

Nota

El encabezado shellapi.h define FindExecutable como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shellapi.h
biblioteca de Shell32.lib
DLL de Shell32.dll

Consulte también

ShellExecute