![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Bueno pues tengo novedades.
La primera es que al final he decidido que no quedaba todo lo correcto que pensaba el que no se mostrase el form principal al inicio asi que he quitado esa parte del codigo y ahora permito que salga de inicio. La segunda es que despues de haber solucionado el error que me daba en lo del hook del mouse de un modo diferente usando: Código PHP:
Código PHP:
.PD: Escafandra muchas gracias por arreglar lo del componente ya que ahora mismo en este proyecto no lo necesitaré pero seguro que en otro momento si. Gracias a todos. |
|
#2
|
||||
|
||||
|
Algunas aclaraciones:
1.- SysTrayIcon1->ShowBalloon no mostrará nada si la App no es visible en el SysTray. 2.- Cuidado de no modificar la clave inadvertidamente pues tendrás problemas si bloqueas teclado y ratón. 3.- ¿No te parece más simple esta forma de detectar la clave? Código PHP:
|
|
#3
|
||||
|
||||
|
1. Lo se
.2. También lo se jejeje. 3. Pues si que se ve más clara y sencilla así que lo cambiaré. Por cierto, en el form uso un checkbox que indicará si se bloquea el ratón o no y en el popup del systrayicon tengo un ítem el cual se tilda o no igual y que realiza la misma función. Siempre tienen que estar ambos igual. Como lo tengo funciona pero no se si es lo más correcto o hay un modo mejor. |
|
#4
|
||||
|
||||
|
Me di cuenta que tu solucion aun se podia reducir mas y la he dejado así:
Código PHP:
|
|
#5
|
||||
|
||||
|
He descubierto un inconveniente y no se a que se debe. Si ejecutó la aplicación y activo el bloqueo y doy a apagar el pc, empiezan a cerrarse todas las aplicaciones pero no se apaga. Si doy a Ctrl + Alt +Sup veo que, aunque mi aplicación parece haberse cerrado y no aparece ni la ventana ni en el systray, mi aplicación sigue en la lista de aplicaciones. Da igual cuantas veces de a apagar que mientras siga mi aplicación en la lista no se apaga el pc y además sigue estando el bloqueo activo. Si lo termino desde el administrador de aplicaciones y doy apagar ya si se apaga. ¿alguien sabe que puede estar pasando y como solucionarlo?
|
|
#6
|
||||
|
||||
|
No he tenido esa experiencia con Hooks, pero puede ser que tu app se niegue a terminar la sesión. Para resolverlo tendrás que manejar los mensajes WM_QUERYENDSESSION y WM_ENDSESSION
Suelo reescribir la función virtual WndProc del formulario para estos menesteres: Código:
private: void __fastcall WndProc(Messages::TMessage &Message); Código:
void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
switch(Message.Msg){
case WM_QUERYENDSESSION:
Message.Result = 1;
break;
case WM_ENDSESSION:
if(hKeyboardHook) UnhookWindowsHookEx(hKeyboardHook);
if(hMouseHook) UnhookWindowsHookEx(hMouseHook);
break;
}
TForm::WndProc(Message);
}
Saludos. |
|
#7
|
||||
|
||||
|
Mañana lo probaré pero me surgen un par de dudas al ver tu código:
1. ¿que hace Message.Result=1 exactamente? Es que solo veo esa instrucción para ese evento. 2. Al apagarse windows este cierra todas las aplicaciones antes ¿usa TerminateProcess para ello? ¿al cerrarla no pasa por el evento OnClose al cerrarse? |
|
#8
|
||||
|
||||
|
Pero si haciendo lo que haces en el primer case se supone que ya se cerrará por su vía normal se supone que ya irá al evento OnClose y allí ya me encargo de terminar los hooks ¿para que controlar el segundo evento que pones?
|
|
#9
|
||||
|
||||
|
Cita:
![]() PD/ He actualizado el control TSysTrayIcon Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Bloqueador para Android | FabianSiza | Desarrollo en Delphi para Android | 1 | 14-01-2015 13:22:45 |
| teclado usb | armando | Varios | 1 | 12-02-2011 04:09:00 |
| Bloqueador solar.... | RONPABLO | La Taberna | 5 | 16-07-2007 19:48:47 |
| Teclado | D-MO | Linux | 3 | 14-07-2006 21:06:07 |
| USB Teclado en Red Hat 9 | nicocer | Linux | 0 | 05-07-2004 22:04:56 |
|