Saltar al contenido

Deshabilitar y habilitar el administrador de tareas con vba y cmd


Recommended Posts

Hola amigos espero me puedan ayudar, tengo una archivo de excel con macro con el codigo vba protegido con contraseña y con compartir, pero detecte que cuando el usuario usa el administrador de tareas para cerrar a la fuerza el archivo de excel, este se abre como si no le hubiese puesto protección de bloqueo al projecto vba.

La opción más adecuada que encontre fue modificar el registro de windows con CMD, en esta web encontre un buen código:

using command prompt from VBA

Sub x()

Dim Par As String

Par = "dir c:\ /s/p"

Call Shell("C:\WINDOWS\system32\cmd.exe /c " & Par, 1)

End Sub

yo lo he transformado de la siguiente manera

Sub Deshabilitar()

Dim Ubicacion As String

Dim ModifReg As String

Ubicacion = "cd C:\Windows\system32"

ModifReg = "REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f "

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & Ubicacion, 1)

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & ModifReg, 1)

End Sub

Sub Habilitar()

Dim Ubicacion As String

Dim ModifReg As String

Ubicacion = "cd C:\Windows\system32"

ModifReg = "REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f "

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & Ubicacion, 1)

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & ModifReg, 1)

End Sub

pero no funciona, ojo que escrito manualmente si funciona, doy a inicio cmd iniciar como administrador y pongo el codigo REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f pero lo malo es que quiero que este registro funciones en las pc's de las personas a las que voy a dar el archivo y luego que cierren vuelva a estar habilitado.

El primero dice acceso denegado

MACRO OCULTA ADMIN DE TAREAS v2.zip

Enlace a comentario
Compartir con otras webs

hola ejecutalas asi probado funciona

Sub Botón1_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f")
End Sub
Sub Botón2_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f ")
End Sub
[/CODE]

saludos

Enlace a comentario
Compartir con otras webs

hola ejecutalas asi probado funciona

Sub Botón1_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f")
End Sub
Sub Botón2_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f ")
End Sub
[/CODE]

saludos

Gracias, pero lo acabo de probar y no funciona.

Enlace a comentario
Compartir con otras webs

ultimo intento olvidate de todo esto

Sub x()

Dim Par As String

Par = "dir c:\ /s/p"

Call Shell("C:\WINDOWS\system32\cmd.exe /c " & Par, 1)

End Sub

yo lo he transformado de la siguiente manera

Sub Deshabilitar()

Dim Ubicacion As String

Dim ModifReg As String

Ubicacion = "cd C:\Windows\system32"

ModifReg = "REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f "

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & Ubicacion, 1)

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & ModifReg, 1)

End Sub

Sub Habilitar()

Dim Ubicacion As String

Dim ModifReg As String

Ubicacion = "cd C:\Windows\system32"

ModifReg = "REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f "

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & Ubicacion, 1)

Call Shell("C:\WINDOWS\system32\cmd.exe /k " & ModifReg, 1)

End Sub

solo essto

Sub Botón1_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f")
End Sub
Sub Botón2_Haga_clic_en()
Shell ("REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f ")
End Sub[/CODE]

si funciona

Enlace a comentario
Compartir con otras webs

otra cosa si esta activo el administrador de tareas cuando ejecutas shell (no lo oculta para que funcione debe de estar cerrado, a lo mejor es eso) intenta ejecuta la shell despues preciona ctrl alt suprimir y verifica que si se deshabilita el administrador de tareas luego vuelve a ejecutar y veras que se habilita el admnistrador de tareas

Enlace a comentario
Compartir con otras webs

te subo el arhivo donde lo probe y si funciona probado en otra maquina ojo no lo probe con cuenta de invitado, si no soluciona tu problema siento no poderte ayudar algo pasa, por que el codigo que te paso funciona correctamente ...

Gracias por la ayuda asesorcperic pero tu archivo no funciona en ninguna de mi dos pc's, las 2 tiene windows 7 ultimate y ya probe con office 2007 y 2010.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.