![]() |
![]() |
| 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
|
|||
|
|||
|
Muchas Gracias David, el fin de semana hare pruebas y ya te comentare
![]() |
|
#2
|
|||
|
|||
|
Funciona Perfectamente
Bueno David, he utilizado el codigo que me pusiste en mi aplicacion y hace exactamente lo que necesitaba asi que me ha venido de perlas. Solo una aclaracion, tal vez lo que querias buscar en cuanto a Ord("O") en c++ Builder creo que se hace asi: (int)'O' al menos lo uso asi y funciona.
RegisterHotKey(Application->Handle, GlobalAddAtomA("MiHotKey"), MOD_CONTROL, (int)'O'); De nuevo Agradecerte el codigo porque me ha venido genial ![]() |
|
#3
|
||||
|
||||
|
Hola,
Cita:
![]() |
|
#4
|
|||
|
|||
|
Yo he probado eso del registerhotkey y no me ha funcionado la verdad
no me pilla la pulsacion de la tecla o seguramente es porque no lo entiendo del todo o falta algo de codigo que no se poner... a ver si alguien pudiera explicarme Gracias |
|
#5
|
||||
|
||||
|
Hola,
i_berbeu, no puede ayudársete si no das más datos, o eres más preciso. Decir: Cita:
Cita:
|
|
#6
|
|||
|
|||
|
bueno vamos a ver si me explico mejor en lo que me falla... yo pongo este codigo(en c++ builder 5)
void __fastcall TForm1::FormCreate(TObject *Sender) { Application->OnMessage = AppMessage; // // 79 es el código ASCII de la letra "O". No he conseguido encontrar la función // correspondiente a "Ord" (en Delphi) aquí en C++ Builder. He probado con // Integer("O") y con Cardinal("0"), pero, no funciona, así que al cabo he optado // por pasar como tercer parámetro de "RegisterHotKey" el número 79, que ya sabes // lo que quiere significar. ![]() // RegisterHotKey(Application->Handle, GlobalAddAtomA("MiHotKey"), MOD_CONTROL, 79); } void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { UnregisterHotKey(Application->Handle, GlobalAddAtomA("MiHotKey")); } // Declarado en la cláusula "private" de "TForm1" // void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled) { if (Msg.message == WM_HOTKEY) { if ( (LOWORD(Msg.lParam) == MOD_CONTROL) && (HIWORD(Msg.lParam) == 79) ) ShowMessage("Pulsaste las teclas CTRL + O"); } } que es el que pusiste tu DEC entonces segun lei, se supone que me deberia pillar la pulsacion de la tecla "o" aunque mi formulario no tenga el foco. o teniendolo, me da igual.... el caso es que el evento onMessage me pilla en la variable Msg ciertos valores. entonces si miro esos valores en Msg.message tenemos valores del tipo 670, 610, 14, 1550 y cosas asi, que yo no entiendo como eso va a ser igual a VM_HOTKEY a menos que sea un tipo enumerado que no lo se entonces, resulta que aunque pulse la "o" a mi el evento ese no me captura un mensage en el cual se meta dentro hasta el ShowMessage. Espero haberme explicado bien con esto y a ver si me solucionais la duda alguno Gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|