[C con Clase] ocultar ficheros

Programante programante en gmail.com
Mie Ene 30 00:09:10 CET 2008


Moises Brenes escribió:
> On Jan 29, 2008 7:30 AM,  <rnapoles en hlg.rimed.cu> wrote:
>   
>> Salu2 lista
>>  He visto programas como magifolder o el folderguard que ocultan y
>> protegen las carpetas. He buscado con google pero no he encontrado nada
>> existe alguna llamada a la API de Windows o alguna modificación en el
>> registro que me permita hacer esto. Gracias de antemano...
>>
>>     
>
> Lo mas que se me ocurre es cambiando los atributos, pero creo que,
> para usted es suficiente :
>
> system("ATTRIB -H fichero.txt");
>   
Ello quitaría el atributo de oculto al fichero, pero sería mejor hacerlo
con la API SetFileAttributes

El problema con el atributo oculto es que es muy sencillo configurar el
explorador de windows para que muestre
los archivos ocultos. Existe otro nivel más de protección, "archivos
ocultos del sistema", que hace falta configurar
por separado para que la muestre, pero también se revelan.


Para convertir una rchivo en oculto usaríamos:
SetFileAttributes("fichero.txt", GetFileAttributes("fichero.txt") |
FILE_ATTRIBUTE_HIDDEN);
y para quitarlo
SetFileAttributes("fichero.txt", GetFileAttributes("fichero.txt") &
~FILE_ATTRIBUTE_HIDDEN);


Para un archivo oculto de sistema:
  SetFileAttributes("fichero.txt", GetFileAttributes("fichero.txt") | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM);
y para quitarlo
 SetFileAttributes("fichero.txt", GetFileAttributes("fichero.txt") & ~(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM));


http://msdn2.microsoft.com/en-us/library/aa365535(VS.85).aspx





Más información sobre la lista de distribución Cconclase