Foros del Web » Programación para mayores de 30 ;) » .NET »

Control en Tiempo real de archivos escritorio

Estas en el tema de Control en Tiempo real de archivos escritorio en el foro de .NET en Foros del Web. Buenas !!! Me han propuesto una Aplicacion un tanto rara, asi que no se asusten mucho xD. Segun me ha dicho la persona en cuestion, ...
  #1 (permalink)  
Antiguo 11/05/2009, 15:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Control en Tiempo real de archivos escritorio

Buenas !!!

Me han propuesto una Aplicacion un tanto rara, asi que no se asusten mucho xD.

Segun me ha dicho la persona en cuestion, seria crear una aplicacion que controlase en "tiempo real" el escritorio, y si detecta que se mueve/copia al escritorio un archivo con una Extension indicada, que lo elimine directamente y muestre un mensaje de archivo no permitido.

El programa seria crearlo en CSharp, pero vamos, nunca he hecho nada asi, y no tengo ni idea de como empezar,

Alguna Sugerencia ????
__________________
» Presupuesto Pagina Web
  #2 (permalink)  
Antiguo 11/05/2009, 15:30
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Control en Tiempo real de archivos escritorio

investiga sobre

Clase FileSystemWatcher

Servicios Windows (windows services)

Clase Timer
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 11/05/2009, 15:37
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Control en Tiempo real de archivos escritorio

Hola.
Lo que podrías hacer es usar on objeto tipo timer y que cada tanto controle los archivos que existen en el escritorio.

Creo que en csharp para obtener la ruta del directorio podes usar:

string dir=Environment.GetFolderPath(SpecialFolder.Deskto pDirectory);

Eso te devuelve la ruta del escritorio del usuario.

Osea que una función para revisar los archivos que tenes en el escritorio podría ser algo así:

Código:
string dir=Environment.GetFolderPath(SpecialFolder.DesktopDirectory);
DirectoryInfo di = new DirectoryInfo(dir);
 FileInfo[] rgFiles = di.GetFiles("*.exe");
 foreach(FileInfo fi in rgFiles)
 {
  Console.Write("El archivo " + fi.Name + " no se permite en esta PC");   
  System.IO.File.Delete(dir + fi.name);
      
 }
Ese sería mas o menos el código, lo escribo al vuela así que puede ser que tengas que corregir algo, pero eso basicamente lo meterías en el evento del timer.
Espero te sirva.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #4 (permalink)  
Antiguo 11/05/2009, 16:36
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Control en Tiempo real de archivos escritorio

bueno hector es una opcion, pero la cantidad de recursos que consumiria ese metodo seria alta, ademas que habria que considerar los casos en los que el obtener los nombres no se tarde demasiado entre lectura y lectura podrias tener escritura, ejecucion y lectura del archivo que no deseas.

mejor de los casos son pocos archivos y el encontrarlos es rapidisimo

peor caso es tal el volumen de archivos en el escritorio que entre la lectura en el tiempo N y N+M se pueda escribir, leer , ejecutar y borrar el archivo que no deseas.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 11/05/2009, 23:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Respuesta: Control en Tiempo real de archivos escritorio

Gracias ! , ya me habeis dado algo sobre lo que empezar, ya ire preguntando en este mismo post a ver si lo consigo, :D
__________________
» Presupuesto Pagina Web
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.