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.