Reto:: Como Inpedir Finalizar procesos
Mi pregunta es:
Como puedo decirle al sistema operativo que mi ejecutable (Hecho en visuial basic) se tome como un archivo prottegido del sistema, algo asi como el archivo
services.exe para que si yo abro el taskmanager y le digo finalizar proceso, este no se pueda matar.
necesito hacer esto en visual basic o directamente en el sistema operativo, para una version de win 2k o winXP.
[email protected]
Como puedo decirle al sistema operativo que mi ejecutable (Hecho en visuial basic) se tome como un archivo prottegido del sistema, algo asi como el archivo
services.exe para que si yo abro el taskmanager y le digo finalizar proceso, este no se pueda matar.
necesito hacer esto en visual basic o directamente en el sistema operativo, para una version de win 2k o winXP.
[email protected]
Más práctico que eso, puedes hacer que te aplicación no aparezca en el task manager a través de la API de Windows. Debes incluir esta rutina al inicio del código de tu form principal
Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Sub HideApp(Hide As Boolean)
Dim lngPID As Long, lngRc As Long
lngPID = GetCurrentProcessId()
If Hide Then
lngRc = RegisterServiceProcess(lngPID, RSP_SIMPLE_SERVICE)
Else
lngRc = RegisterServiceProcess(ProcessID, RSP_UNREGISTER_SERVICE)
End If
End Sub
Luego en el evento load del form principal
Private Sub Form_Load()
App.Title = ""
End Sub
Esto es para Win 2000 o XP. Si usas Windows 98, entonces escribes esto en el evento Load
HideApp True
Saludos
Bartolom
Chile
Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Sub HideApp(Hide As Boolean)
Dim lngPID As Long, lngRc As Long
lngPID = GetCurrentProcessId()
If Hide Then
lngRc = RegisterServiceProcess(lngPID, RSP_SIMPLE_SERVICE)
Else
lngRc = RegisterServiceProcess(ProcessID, RSP_UNREGISTER_SERVICE)
End If
End Sub
Luego en el evento load del form principal
Private Sub Form_Load()
App.Title = ""
End Sub
Esto es para Win 2000 o XP. Si usas Windows 98, entonces escribes esto en el evento Load
HideApp True
Saludos
Bartolom
Chile