shellapi.h


SHGetFileInfo

Recupera información sobre un objeto del sistema de ficheros, como un fichero, un directorio o una unidad de almacenamiento.

Sintaxis

WINSHELLAPI DWORD WINAPI SHGetFileInfo(
    LPCTSTR pszPath, 	
    DWORD dwFileAttributes, 	
    SHFILEINFO FAR *psfi, 	
    UINT cbFileInfo, 	
    UINT uFlags	
   );

Parámetros

pszPath: puntero a un buffer que contiene el camino y nombre de fichero. Son válidos tanto los caminos absolutos como relativos. Si uFlags incluye el valor SHGFI_PIDL, pszPath debe ser la dirección de una estructura ITEMIDLIST que contenga la lista de ítems identificadores que identifiquen de forma única el fichero dentro del espacio de nombres del shell.

Esta cadena puede usar tanto nombres cortos (en el formato 8.3) como nombres largos.

dwFileAttributes: array de banderas de atributos de fichero (valores FILE_ATTRIBUTE_). Si uFlags no incluye el valor SHGFI_USEFILEATTRIBUTES value, este parámetro es ignorado.

psfi y cbFileInfo: dirección y tamaño, en bytes, del la estructura SHFILEINFO que recibirá la información del fichero.

uFlags: bandera que especifica la información del fichero a recuperar. Este parámetro puede ser una combinación de los siguientes valores:

SHGFI_ATTRIBUTES Recupera las banderas de atributos del fichero. Las banderas se copian al miembro dwAttributes de la estructura espeficificada por psfi.
SHGFI_DISPLAYNAME Recupera el nombre que se muestra del fichero. El nombre se cipia en el miembro szDisplayName de la estructura especificada por psfi.
El nombre retornado usa el nombre de fichero largo, si existe, en lugar del nombre del fichero en el formato 8.3.
SHGFI_EXETYPE Devuelve el tipo del fichero ejecutable si pszPath identifica a un fichero ejecutable. Para más información, ver los comentarios debajo.
SHGFI_ICON Recupera el manipulador del icono que representa el fichero y el índice del icono dentro de la lista de imágenes del sistema. El manipulador se copia en el miembro hIcon de la estructura especificada por psfi, y el índice se copia en el miembro iIcon. El valor de retorno es el manipulador de la lista de imágenes del sistema.
SHGFI_ICONLOCATION Recupera el nombre del fichero que contiene el icono que representa al fichero. El nombre se copia en el miembro szDisplayName de la estructura especificada por psfi.
SHGFI_LARGEICON Modificador de SHGFI_ICON, hace que la función recupere el icono grande del fichero.
SHGFI_LINKOVERLAY Modificador de SHGFI_ICON, hace que la función superponga el gráfico de enlace al icono del fichero.
SHGFI_OPENICON Modificador de SHGFI_ICON, hace que la función recupere el icono de apertura del fichero. Un objeto carpeta muestra un icono abierto para indicar que la carpeta está abierta.
SHGFI_PIDL Indica que pszPath es la dirección de una estructura ITEMIDLIST en lugar de un nombre de camino.
SHGFI_SELECTED Modificador de SHGFI_ICON, hace que la función mezcle el icono del fichero con el color de sistema de resalte.
SHGFI_SHELLICONSIZE Modificador de SHGFI_ICON, hace que la función recupere el icono del tamaño del shell. Si no se especifica esta bandera, la función dimensiona el icono de acuedo con los valores de métrica del sistema.
SHGFI_SMALLICON Modificador de SHGFI_ICON, hace que la función recupere el icono pequeño del fichero.
SHGFI_SYSICONINDEX Recupera el índice del icono dentro de la lista de ímagenes del sistema. El índice se copia al miembro iIcon de la estructura especificada por psfi. El valor de retorno es el manipulador de la lista de imágenes del sistema.
SHGFI_TYPENAME Recupera la cadena que describe el tipo de fichero. La cadena se copia al miembro szTypeName de la estructura especificada por psfi.
SHGFI_USEFILEATTRIBUTES Indica que la función debe usar el parámetro dwFileAttributes.

Para recuperar el tipo de fichero ejecutable, uFlags debe especificar sólo SHGFI_EXETYPE. El valor de retorno especifica el tipo de fichero ejecutable:

0 Fichero no ejecutable o una condición de error.
LOWORD = NE or PE
HIWORD = 3.0, 3.5, or 4.0
Aplicación Windows
LOWORD = MZ
HIWORD = 0
Fichero MS-DOS .EXE, .COM o .BAT
LOWORD = PE
HIWORD = 0
Aplicación de consola Win32

Valor de retorno

  • Devuelve un valor cuyo significado depende del parámetro uFlags. Si uFlags especifica el valor SHGFI_EXETYPE, el valor de retorno indica el tipo de fichero ejecutable. Para mayor información, ver los comentarios debajo.
  • Si uFlags incluye los valores SHGFI_ICON o SHGFI_SYSICONINDEX, el valor de retorno es el manipulador de la lista de imágenes de sistema que contiene las imágenes de iconos grandes. Si también se incluye el valor SHGFI_SMALLICON, el valor de retorno es el manipulador de la lista de imágenes que contiene los iconos pequeños.
  • Si uFlags no incluye los valores SHGFI_EXETYPE, SHGFI_ICON, SHGFI_SYSICONINDEX o SHGFI_SMALLICON, el valor de retorno es distinto de cero si la función tiene éxito, o cero en caso contrario.