Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - DrNeurus

#1
Teoricamente esto es correcto, pero en la practica encontraras varios problemas.
1) Si matas el proceso nunca se ejecutara ni el evento Unload ni el evento Terminate, ya que matar el proceso significa detener la ejecucion de manera bruta, sin permitir al proceso acomodarse al cierre.
1a) La solucion seria que el proceso A busque al proceso llamado B, tome su ID y verifique con un timer que aun sigue abierto. En el caso de que no, lo ejecute de nuevo. Analogamente para el proceso B.
2) Los recusos para mantener ambos procesos deben ser muchos, o debe subirse la prioridad del thread, para mantener el timer que busca al otro proceso siempre activo. El timer obviamente debe ser lo mas rapido posible.
3) Este metodo del centinela no es nada profesional (en realidad depende de tu proyecto). La pregunta original se referia a denegar el cierre del proceso directamente, sin "tecnicas" externas. El DeepFreeze si se puede matar, pero no sirve de nada matarlo ya el programa es el icono del systray para poner la contraseña. Aun si "desisntalas" el DeepFreeze mientras esta activado el frezado no servira de nada.

Salu2.

PD: mientras escribia esto se publico la respuesta anterior. Mis discrepancias son, que si matas el Wscript.exe matas el proceso...  es justamente lo que no se quiere, o no? ademas, el VBS es limitado, y el codigo no funciona aun si se traduce al VB, ya que no se pueden eliminar archivos que esten en ejecucion.