![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() ![]() Bueno al grano entonces, resulta que tengo que desarrollar un proyecto de administracion de maquinas y decearia que alguien me facilitara algun codio fuente que me ayude a bloquear el teclado hasta que una aplicacion en el servidor lo habilite... he intentado usar ASM pero en XP no me chunca... HELP |
#2
|
||||
|
||||
Pienso que podrías usar un hook del teclado a nivel de sistema para bloquear toda actividad en el teclado. A reserva de que consultes la documentación (busca Hooks en la ayuda del SDK de Windows) puedes ver un ejemplo en la unidad hooks.pas de mi página que muestra cómo instalar y desintalar un hook, cosa que harías según el mensaje que mande el servidor.
// Saludos |
#3
|
|||
|
|||
Prueba...
Yo te puedo ayudar, pero lo que te voy a decir anula tanto el teclado como el raton.
Usaremos una función que viene en el user32.dll denominada "BlockInput", y que corta toda comunicación con los periféricos del usuario (teclado y ratón)
Puedes hacer pruebas poniendo un timer a 5, 10 seg... para que te desbloquee el teclado, ¡o si nos deberás reiniciar el PC! "FunctionExists" te sirve para cargar y ejecutar cualquier proceso o función que necesites ![]() Suerte Última edición por roman fecha: 23-06-2005 a las 22:55:59. Razón: Cortar líneas demasiado largas |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
|||
|
|||
![]() bueno di uso a estos codigos pero ahora quiero que el ctrl+alt+supr tampoco lo detecten como hago gracias por sus respuestas
![]() ___________________________________________________ Al que madruga le da sueño |
#6
|
||||
|
||||
En WinXP/2000 esto es mucho más difícil. Cuando arrancas Windows, lo primero en ejecutarse es WinLogon.exe quien a su vez carga una biblioteca llamada gina.dll. Esta biblioteca se encarga de todo el proceso de autenticación del usuario y "se apropia" de la combinación ctrl-alt-supr de manera que no hay tiempo de interceptarla uno mismo. Entonces, al parecer, la única manera de poder lidiar con ello es escribiendo una dll que reemplace a gina. Esto puede hacerse y está documentado en el SDK de Windows pero no es tarea fácil ya que tienes que implementar muchas funciones y tener cuidado con no bloquear el proceso normal de carga del sistema.
Ahora una pregunta por curiosidad: ¿por qué pones el icono del pulgar hacia abajo? ¿Hay algo que desapruebas? // Saludos |
#7
|
||||
|
||||
![]() ![]() ![]() Código:
var dummy : integer; {Desactivar el Ctrl-Alt-Del:} SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @dummy, 0); Código:
var dummy : integer; {Volver a Activarlo} SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @dummy, 0); ![]() ![]() Añade Registry en el uses de tu form Código:
procedure TForm1.Button1Click(Sender: TObject); procedure DisableTaskMgr(bTF: Boolean); var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey := HKEY_CURRENT_USER; reg.OpenKey('Software', True); reg.OpenKey('Microsoft', True); reg.OpenKey('Windows', True); reg.OpenKey('CurrentVersion', True); reg.OpenKey('Policies', True); reg.OpenKey('System', True); if bTF = Truethen begin reg.WriteString('DisableTaskMgr', '1'); end else if bTF = False then begin reg.DeleteValue('DisableTaskMgr'); end; reg.CloseKey; end; begin //Desabilitamos el Ctrl-Alt-Del //Disable Ctrl-Alt-Del DisableTaskMgr (True); end;
__________________
Dark Drakon:: "Ego sum Draco dormiens ... Aut insanit Draco, aut Versus facit..." |
![]() |
|
|
![]() |
|