Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2006
Avatar de Wonni
Wonni Wonni is offline
Miembro
 
Registrado: abr 2006
Posts: 261
Poder: 21
Wonni Va por buen camino
Cita:
Empezado por seoane
...Otra solución seria utilizar otro programa, un servicio como sugerías al principio, que abriera el archivo y solo permitiera el acceso de otros programas para leer, esta solución si que protegería de forma efectiva contra accidentes, se tendría que detener el servicio para poder modificar los archivos y eso ya no seria tan accidental, supondría que el presunto borrador sabia lo que hacia.
.
Esta fue mi primera idea. De hecho cree un servicio con este codigo en el OnCreate:

Código Delphi [-]
var  hFile: THandle = INVALID_HANDLE_VALUE; // Variable global// Para bloquearlo hFile:= CreateFile(PChar('Archivo.doc'),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,0,0);// Para desbloquearloif hFile<>INVALID_HANDLE_VALUE then    CloseHandle(hFile);

Por cierto, esto lo puso seoane en este hilo:

http://www.clubdelphi.com/foros/show...borren+archivo

Entonces, al iniciar mi aplicacion principal, esta deberia comunicarse con el servicio para que este permita trabajar a la aplicacion. Por que si no, pues ni siquiera puedo abrir las tablas. Pero no tengo ni idea de como comunicarme con el servicio. Y hay mas cosas:
¿como impido que eliminen el servicio? A esta pregunta me sugirio mi sobrino "ixMike" que al cerrarse el servicio llamara a otro que lo volviera a crear. Pero es que si finalizo el proceso, ¿como lo capturo?, porque en el evento OnClose si se intercepta si finalizas la aplicacion desde la lista de tareas (ojo, la aplicacion) pero no el proceso. Si finalizo el proceso, na de na

En cuanto a la opcion del md5, pues no tengo ni idea de que es. Te agradeceria que me lo explicases. Y ese caso ¿donde convendria que colocase el archivo .txt?

La verdad, esque mi la opcion q mas me atrae es la del "guardian", llamemoslo "dbguardian" y el el "dbguardianres" (para guardar al guardian).
Esto tal vez sea algo muy lioso, o no. ¿que os parece?

En cuanto a los recursos que pueda consumir esto, por ejemplo, no creo que sea algo grave, ¿no?

Gracias por vuestra ayuda

Saludos !!
Responder Con Cita
  #2  
Antiguo 17-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Por lo que cuentas, ya no estamos hablando de proteger archivos contra accidentes, sino protegerlos contra personas malintencionadas dispuestas a parar servicios, borrar archivos, y quien sabe que mas. Llegados a este punto, me pregunto por que esa persona tiene acceso como administrador a ese equipo, si es realmente el administrador y pone tanto empeño en destrozar el programa el sabrá lo que hace, y si no lo es, por que esta como administrador y no como un usuario limitado. Un usuario limitado no puede parar, y menos eliminar, servicios.

Por norma general, no se puede proteger nada de un administrador. Un administrador tiene los privilegios suficientes para destrozar cualquier cosa si se toma su tiempo para hacerlo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear eventos para una clase DarkByte OOP 10 07-12-2005 20:02:28
Requisitos para poder vender un software?? burasu Debates 20 18-12-2004 23:52:39
Capturar eventos de Windows Carlos G. C++ Builder 1 19-08-2004 14:22:28
que usar o como para poder imprimir? mrmanuel Impresión 4 30-03-2004 09:20:31
Capturar eventos de componentes vichovi OOP 3 13-06-2003 19:01:33


La franja horaria es GMT +2. Ahora son las 06:44:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi