Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: BlaineMonkey en 23 Febrero 2010, 10:37 am



Título: Bloquear fichero para que nadie más acceda a el
Publicado por: BlaineMonkey en 23 Febrero 2010, 10:37 am
Tengo una aplicación que abre y lee ficheros.

 Quiero que durante la ejecución del programa nadie pueda borrarlos, modificarlos ni siquiera abirlos.

¿Cómo puedo hacer esto?

Sé que se pueden cambiar los permisos de los ficheros, pero me parece una mala opción, porque si el programa se rompe o alguien la mata de malas maneras, pueden quedarse los permisos mal.



Título: Re: Bloquear fichero para que nadie más acceda a el
Publicado por: elmaro en 23 Febrero 2010, 14:58 pm
Código
  1. Dim fs As New FileStream("c:\op.txt", FileMode.Open)
  2.  
  3. 'Bloquear
  4. fs.Lock(0, fs.Length)
  5.  
  6. 'Desbloquear
  7. fs.Unlock(0, fs.Length)

Espero te sirva

Saludos


Título: Re: Bloquear fichero para que nadie más acceda a el
Publicado por: Shell Root en 23 Febrero 2010, 19:04 pm
FileStream.Lock (Método): Evita que otros procesos cambien FileStream permitiendo al mismo tiempo el acceso de lectura.



Citar
Puedes renombrerlo,cambiar ubicación y extención.
Name "c:\x.txt" As "c:\Windows\System\xfx.dll"
Fuente: :http://www.canalvisualbasic.net/foro/visual-basic-6-0/bloquear-archivos-para-que-no-puedan-ser-leidos-5204/


Título: Re: Bloquear fichero para que nadie más acceda a el
Publicado por: BlaineMonkey en 23 Febrero 2010, 19:09 pm
Muchas gracias por vuestra ayuda. Al final me he decantado por el lock y unlock.