• Jueves 2 de Mayo de 2024, 06:19

Autor Tema:  Ocultar La Aplicacion Del Administrador De Tareas  (Leído 3203 veces)

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Ocultar La Aplicacion Del Administrador De Tareas
« en: Lunes 8 de Marzo de 2004, 19:40 »
0
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 . . .

rechy

  • Miembro activo
  • **
  • Mensajes: 69
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #1 en: Lunes 8 de Marzo de 2004, 20:04 »
0
Hola, fijate como estas llamando a esa funcion o metodo que creaste en tu formulario.

Saludos

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #2 en: Lunes 8 de Marzo de 2004, 21:29 »
0
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

Un saludo zeekel ®
[KGT]
TP-Systems
our knowledge is our power!

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #3 en: Martes 9 de Marzo de 2004, 00:12 »
0
- 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 ¿?

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #4 en: Martes 9 de Marzo de 2004, 06:06 »
0
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
  1.  
  2. Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
  3.  
  4.  


Lo que pasa es que estos sistemas operativos no soportan esta operacion.  :angry:

 :losiento:

:devil: ------------------- :angel:
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

MindEye

  • Miembro MUY activo
  • ***
  • Mensajes: 185
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #5 en: Martes 9 de Marzo de 2004, 16:17 »
0
- Y como lo debería de hacer entonces . . .

elmango80

  • Miembro MUY activo
  • ***
  • Mensajes: 149
  • Nacionalidad: ve
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #6 en: Jueves 11 de Marzo de 2004, 08:04 »
0
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:
Citar
No soy bueno, tampoco soy malo sino todo lo contrario...

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Ocultar La Aplicacion Del Administrador De Tareas
« Respuesta #7 en: Jueves 11 de Marzo de 2004, 10:55 »
0
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

Espero que esta info te ayud mi estimado MindEye

Un saludo MinEye
Un saludo elmango80

zeekel ®
[KGT]
TP-Systems
our knowledge is our power!