Pregunta

Tengo un explorador de archivos simple y no puedo mostrar archivos y carpetas,

obtenido por (por directorio)

SHFILEINFO info = new SHFILEINFO();
SHGetFileInfo(filename,
FILE_ATTRIBUTE_DIRECTORY,
ref info,Marshal.SizeOf(info),
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_ADDOVERLAYS);

Funciona 100% bien, pero he notado una rareza - si intento de obtener un icono de directorio, pero en lugar de especificar FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_DIRECTORY pero hace cosas raras para los directorios - carpetas tienen iconos "tipo de archivo desconocido blanca de papel", papelera de reciclaje tiene icono de VLC, etc. directorios bajo SVN tienen superposición adecuada, pero icono del archivo de base (hoja blanca de papel).

Yo entiendo que el icono de base para el directorio ahora sería el de archivo desconocido, pero ¿por qué algunas carpetas tienen totalmente extraña icono? Config.Msi tiene icono del instalador, papelera de reciclaje tiene VLC icono (wtf ?!), etc. ¿Qué hace la función de cáscara con estos parámetros? Exactamente lo que el icono no se obtiene?

Una vez más, esto no es un problema, tengo curiosidad.

¿Fue útil?

Solución

Por lo que yo sé recursos de icono se accede por su índice numérico, así que yo creo que el índice derecho es inverosímil, y el icono es luego son captados ya sea de la biblioteca equivocada, o desde la derecha que se controlen mal compensado + índice correcto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top