Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: MindEye en Lunes 8 de Marzo de 2004, 19:40
Título: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: MindEye en Lunes 8 de Marzo de 2004, 19:40
Yo pongo en un modulo esto :
Public Const RSP_SIMPLE_SERVICE = 1 Public Const RSP_UNREGISTER_SERVICE = 0
Declare Function GetCurrentProcessId Lib "kernel32" () As Long Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Sub HideApp(Hide As Boolean) Dim ProcessID As Long ProcessID = GetCurrentProcessId()
On Error Resume Next
If Hide Then retval = RegisterServiceProcess(ProcessID, RSP_SIMPLE_SERVICE) Else retval = RegisterServiceProcess(ProcessID, RSP_UNREGISTER_SERVICE) End If End Sub
- Pero me da error, dice que no encuentra en metodo.
- Por favor, necesito ayuda . . .
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: rechy en Lunes 8 de Marzo de 2004, 20:04
Hola, fijate como estas llamando a esa funcion o metodo que creaste en tu formulario.
Saludos
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: 9tnix en Lunes 8 de Marzo de 2004, 21:29
Salu2 MindEye
'//En modulo Const RSP_SIMPLE_SERVICE = 1 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 MakeMeService() Dim pid As Long, reserv As Long 'Get the current process ID pid = GetCurrentProcessId() 'Register as service regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE) End Sub Public Sub UnMakeMeService() Dim pid As Long, reserv As Long 'Get the current process ID pid = GetCurrentProcessId() 'Unregister as service regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE) End Sub
'//En Form Private Sub Form_Load() MakeMeService End Sub Private Sub Form_Unload(Cancel As Integer) UnMakeMeService End Sub
Mas info chekea aqui http://www.mentalis.org/apilist/GetCurrentProcessId.shtml (http://www.mentalis.org/apilist/GetCurrentProcessId.shtml)
Un saludo zeekel ® [KGT]
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: MindEye en Martes 9 de Marzo de 2004, 00:12
- Te agradesco el codigo, pero lo acabo de probar, y me sigue dando el mismo error, me dice que no se puede encontrar el punto de entrada de la DLL en Kernel32
- Porque puede ser ¿?
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: elmango80 en Martes 9 de Marzo de 2004, 06:06
Hola MindEye!
En primer lugar, ¿Que sistema operativo estas usando? si el sistema operativo es Windows NT, Windows 2000 o Windows XP el problema esta en
Código: Text
Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Lo que pasa es que estos sistemas operativos no soportan esta operacion. :angry:
:losiento:
:devil: ------------------- :angel:
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: MindEye en Martes 9 de Marzo de 2004, 16:17
- Y como lo debería de hacer entonces . . .
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: elmango80 en Jueves 11 de Marzo de 2004, 08:04
Hola MindEye!
El proble no es que lo estes haciendo bien o mal, el problema esta en el sistema operativo que estas usando, si estas usando Windows NT, Windows 2000 o Windows XP no hay forma de poder hacerlo (o por lo menos yo no la he encontrado) si estas usando cualquier otro sistema operativo hazlo como te dice Zeekel.
:devil: ------------------- :angel:
Título: Re: Ocultar La Aplicacion Del Administrador De Tareas
Publicado por: 9tnix en Jueves 11 de Marzo de 2004, 10:55
Salu2 MindEye
Lo que dice elmango80 es cierto el codigo que envie era para SO Win9x ya que alli se encuentra el punto de entrada en el Kernel si estas usando WinNT (2000/2003/XP) entonces debes buscar otra forma de pero que yo sepa al igual que elmango no la he encontrado, pero si lo que buscas es evitar que tu aplicacion sea quitada del administrador de tareas pues tienes las siguientes maneras:
1. Crea un servicio en el Sistema 2. Dale un nombre de un programa critico de Windows digamos Winlogon.exe (este nombre esta en Win2000/XP si no mal recuerdo) y tambien no olvides decirle que este oculto al taskmanager osea App.Task... = False 3. Deshabilita el Taskmanager en el registro HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System DisableRegistryTools = 1 Valor Dword