La Web del Programador: Comunidad de Programadores
 
    Pregunta:  37366 - BLOQUEAR CTRL+ALT+SUP EN WINDOWS XP
Autor:  Miguel Angel Aldana Ramos
Saludos, estoy realizando un programa en el que necesito bloquear ctr+alt+sup y alt+tab, lo estuve haciendo con windows 98 y la función SystemParametersInfo, pero no puedo hacerlo con windows xp, si pudieran ayudarme se los agradecería

  Respuesta:  Walter John Claros Lozano
Miguel Angel: Te envío la información que encontre al respecto; y te cuento que me funciono muy bien; en w2000 y xp hay que modificar el registro para bloquear "task manager" que es el problema que tenemos si un usuario quiere matar la tarea.

Saludos

Walter John; anexo lo anunciado.

Luis Tarzia" escribió:

> logre ocultar la aplicacion de CTRLALTDEL con RegisterServiceProcess
> pero esto no funciona en xp,existira alguna api que haga lo mismo en
> xp y 2000 ???

Hola, Luis:

Que yo sepa, la función «RegisterServiceProcess» no está soportada por los
sistemas operativos basados en NT, y creo que no hay una función equivalente
para Windows 2000/XP.

> Solo con app.taskvisible la saca de la lista de aplicaciones pero se ve en
> la lista de procesos.

En Windows XP, y debido a motivos de seguridad, no hay posibilidad de evitar
que el usuario pulse la "famosa" combinación de teclas ctrl+alt+del.

Lo que sí puedes hacer es deshabilitar el botón «Administrador de tareas»
del cuadro de diálogo «Seguridad de Windows». Para ello deberás acceder al
registro y crear la siguiente clave:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

Una vez creada la clave, crea en ella un valor DWORD llamado
«DisableTaskMgr» y establece a 1 su valor. Cuando quieras habilitar de nueva
dicho botón, cambia el valor por un 0.

Un saludo, y ¡Feliz Navidad!

--
Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Fijate la clase registry.vcx, la podes ver con el galeria de componentes
/ catalogo visual foxpro / Foundation Classes / Utilities / Registry
Access
(disculpa el la mezcla de idiomas)

Allí esta lo que necesitas... pruebalo
WScr=CreateObject("WSCript.Shell")
wscr.RegWrite("HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersio¬n
\Internet
Settings\GlobalUserOffline", "0")
--
David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523
"Ivan Arnold" [email protected]> escribió en el mensaje
news:[email protected]...
> Hola a todos,
> Necesito sencillamente modificar el valor de clave GlobalUserOffline que
se
> encuentra en el registro en una cadena de la forma
> [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet
> Settings]
> Tengo que establecer el valor en 0 y quiero hacerlo mediante codigo en
> Visual FoxPro, supongo que existe alguna API o funcion de FoxPro que me
> permita cambiar ese valor, por favor, si puede alguien describirme como
> hacerlo, o pasarme alguna direccion web donde haya algun ejemplo de como
> hacer esto en fox, le voy a estar eternamente agradecido.
> Desde ya muchas gracias por leer esto.
Otra forma es usar la clase registry,vcx que viene con Visual FoxPro
Fijate en el Component Galley que viene con ejemplos
DO (_gallery)

wscr=CreateObject("WSCript.Shell")
Ejemplo:
***********
-RegR=wscr.RegRead("HKEY_Current_User\Software\Microsoft\Windows Scripting
Host\SettingsTimeOut",0,"REG_DWord"
-RegR=wscr.RegRead ("HKEY_Current_User\Software\Microsoft\Windows Scripting
Host\Settings\TimeOut")
***********
-Otras Funciones
wscr.RegRead()
wscr.RegWrite()
wscr.RegCreate()
wscr.RegGet()
--
Saludos...
RGRLeo - Roger Leonardo
El Salvador, c.a.

  Respuesta:  Jose Rolando Quintero Paz
Ahi van esos codigos, espero que te sirvan si es asi, cuentame, ok?

Declare Integer SystemParametersInfo ;
In user32 As SystemParametersInfo ;
Integer uAction , ;
Integer uParam ,;
String lpvParam ,;
Integer fuWinIni

* Bloquear el Boton Inicio, Crtl + Tab y Ctrl + Alt + Supr
=SystemParametersInfo( 97, 1, 0, 0)

wait windows \"botones crtl+tab y ctrl+alt+supr bloqueados\" timeout 3

* desbloquear
=SystemParametersInfo( 97, 0, 0, 0)
wait windows \"botones desbloqueados\"