Título: Carpeta personalizada Publicado por: okik en 2 Abril 2015, 12:44 pm Hola
Quiero desde VB (net o 6) crear una carpeta personalizada. Esto es, una carpeta que contiene un archivo INI, el cual indica el icono que ha de usar la carpeta y la imagen de fondo que ha de mostrar. Lo del archivo INI ya se como va. El caso es que se hacerlo manualmente, pero no se si habrá alguna API o Script para crearla directamente desde una apliación y luego desde el programa modificar el archivo INI. He probado de usar un código CLSID, nombrando la carpeta: Nombre.{450d8fba-ad25-11d0-98a8-0800361b1103} Entonces, en este caso, la carpeta se convierte en una carpeta "MyDocuments", pero no se crea el archivo "Desktop.ini" Gracias Título: Re: Carpeta personalizada Publicado por: okik en 7 Abril 2015, 11:28 am Hola,
Gracias a todos por las respuestas (ironía) ;-) Pues no entiendo como nadie ha respondido, pues no era muy difícil. Quizás no me expliqué bien... Finalmente encontré la respuesta y hay tres formas de crear la carpetas personalizada: 1ra. Usando el comando de consola attrib. Donde +s convierte la carpeta en carpeta del sistema y -s la deshabilita como tal y +h convierte una carpeta o archivo en 'oculto'. -h la convierte en carpeta o archivo visible. Código
2da. Utilizando la declaración API SetFileAttributes y el atributo FILE_ATTRIBUTE_SYSTEM del kernel32.dll Al usarse attrib.exe deduje que era cuestión de cambiar el atributo a "system". Además importé las declaraciones API de attrib.exe a ver que usaba y vi que usaba SetFileAttributes para cambiar el atributo. Código
3ra. Utilizando la declaración API PathMakeSystemFolder que se encuentra en shlwapi.dll Esta forma quizás no es tan conocida. Lo econtré en una página china http://tech.sina.com.cn/s/2005-02-25/0927535579.shtml (http://tech.sina.com.cn/s/2005-02-25/0927535579.shtml) Convierte directamente la carpeta en carpeta del sistema. Código
Tras convertir la carpeta a "carpeta del sistema", se puede crear un archivo Desktop.ini en su interior y ahora sí este archivo ini es permitido (o leído) y se puede establecer la personalización de la carpeta. |