PDA

Ver la Versión Completa : apagar xp al repetir teclas


compaqdavid
25-11-2006, 06:23:09
desarrolle un pequeño programa donde hice una especie de reloj con alarma y mensajes segun la hora queria añadirle la opcion de apagar la maquina a una hora determinada que yo quisiera y ya lo hice, lo que me falta es que yo quisiera que mi programa estuviera oculto o transparente y que al pulsar por ejemplo la tecla control u otra cualquiera se muestre mi programa, espero que alguien me pueda ayudar

Lepe
25-11-2006, 09:46:13
Yo he usado los hooks de teclado, que son unas combinaciones de teclas que puedes usar en todo windows, es decir, tu programa recibe esa combinación de teclas sin importar en el programa en el que estas. Actualmente uso CTRL + F11 para apagar y CTRL+ F10 para reiniciar. Si tengo prisa, uso CTRL+ ALT + F11 que fuerza un apagado de windows.

Hay dos formas de hacerlo:
- Si tienes la JVCL instalada, tienes un HotkeyApplication o algo parecido, que ya implementa todo eso, solo tienes que indicar la combinación de teclas a usar.
- Implementarlo por API de windows: Es cuestión de usar 2 funciones RegisterHotkey y UnregisterHotkey, después tienes que redefinir el método wndProc y detectar qué combinación de teclas se ha usado.

en el foro ya se ha hablado de ambos métodos, si necesitas más ayuda, avisa.

Saludos

dec
25-11-2006, 09:53:54
Hola,

Con tu permiso Lepe. Puede también echarse un vistazo a la unidad "Hooks" escrita por Román (http://www.romansg.net/index.php?pg=hooks).

Ciertamente, con unos pocos cambios... o sólo para recoger ideas, creo que puede ser útil. ;)

seoane
25-11-2006, 13:42:03
:rolleyes: ¿No estaremos confundiendo Hotkeys con Hooks?

dec
25-11-2006, 13:50:59
Hola,


¿No estaremos confundiendo Hotkeys con Hooks?


Pues... en lo que a mí se refiere muy probablemente, pero, ¿no podría utilizarse la unidad susomentada -con los cambios necesarios- para hacer lo que es menester hacer aquí? Pregunto... ¡Ya tengo mis dudas! ;)

Aunque, sí, efectivamente, no se me olvida "RegisterHotKey"...

seoane
25-11-2006, 13:58:52
¿no podría utilizarse la unidad susomentada -con los cambios necesarios- para hacer lo que es menester hacer aquí?


Claro que se puede, se recibirían todas las pulsaciones de teclado, pero tendrías que filtrarlas tu para encontrar la combinación de teclas que necesitas. Un trabajo innecesario pudiendo usar Hotkeys, pero como dijo alguien ... "ratón que conoce un agujero sólo pronto le caza el gato" ;)

dec
25-11-2006, 14:02:47
Hola,


(...) pero como dijo alguien ... "ratón que conoce un agujero sólo pronto le caza el gato"


Lo digo yo. Eso lo dije yo en su día. Luego ya se enteró más gente y bueno, ahí quedó para la historia. :D :D :D

yusnerqui
25-11-2006, 14:52:17
Entonces lo correcto es escribir: "Como dijo nuestro célebre amigo Dec...." :)

Saludos.

dec
25-11-2006, 15:18:10
Hola,

Bueno. Yo distribuí la frase con una licencia libre, pero, el reconocimiento nunca está demás, no. :eek: :) :cool: :D :p

roman
25-11-2006, 15:34:24
¿Y podríamos ver el hilo donde generó la frase? ¿O no fue aquí?

Por cierto, estoy de acuerdo con seoane, aunque pueden usarse hooks, en este caso es mucho más sencillo con un HotKey.

// Saludos

seoane
25-11-2006, 15:37:17
¿Y podríamos ver el hilo donde generó la frase? ¿O no fue aquí?


Aquí (http://www.clubdelphi.com/foros/showpost.php?p=165245&postcount=8), por cierto, intentaba ser un guiño a dec, yo ya sabia que la frase era suya :p

roman
25-11-2006, 15:41:54
¡Ah! Muy buena, y por lo visto una de dos: o leo muy mal o tengo pésima memoria (o ambas cosas)

:D

// Saludos

Lepe
26-11-2006, 10:09:54
Como veo que en este hilo hay muchas ganas de cachondeo, pero pocas ganas de trabajar :p :p, y quizás tenga que ver algo la petición privada de compaqdavid, aqui dejo el ejemplo (http://www.clubdelphi.com/foros/showthread.php?t=34478&highlight=registerhotkey)de delphi.com.ar

saludos

compaqdavid
27-11-2006, 08:04:21
gracias lepe, el codigo me sirvio, le hice unos cambios y todo funciono, gracias por la ayuda:p