![]() |
![]() |
| 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, voy a revisar esas cosas!
gracias nuevamente! |
|
#2
|
||||
|
||||
|
Una solución usando un Hook al teclado:
Código:
HHOOK WHookKeyboard = 0;
//---------------------------------------------------------------------------
LRESULT CALLBACK KeyboardHookCallBack(int Code, WPARAM wParam, LPARAM lParam)
{
if(Code == HC_ACTION){
// PKBDLLHOOKSTRUCT hs = (PKBDLLHOOKSTRUCT)lParam;
PKBDLLHOOKSTRUCT hs = reinterpret_cast<PKBDLLHOOKSTRUCT>(lParam);
if (hs->vkCode == VK_F1 && hs->flags ==0){
HWND hWnd = 0;
HWND hWndc = 0;
hWnd = FindWindow("NotePad", 0);
hWndc = FindWindowEx(hWnd, 0,0,0);
SetForegroundWindow(hWndc);
::SetFocus(hWndc);
char cadena[] = "HOLA";
for(int n=0; n<strlen(cadena); n++){
PostMessage(hWndc, WM_CHAR, cadena[n], 0);
}
}
}
// Permitimos el proceso del resto del teclado.
return CallNextHookEx(WHookKeyboard, Code, wParam, lParam);
}
//---------------------------------------------------------------------------
bool Hook()
{
if(WHookKeyboard == 0) {
WHookKeyboard = SetWindowsHookEx(WH_KEYBOARD_LL, reinterpret_cast<HOOKPROC>(KeyboardHookCallBack), HInstance, 0);
// Antigua y clásica forma de hacer el casting
// WHookKeyboard = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)KeyboardHookCallBack, HInstance, 0);
}
return (bool)WHookKeyboard;
}
//---------------------------------------------------------------------------
void UnHook()
{
UnhookWindowsHookEx(WHookKeyboard);
WHookKeyboard = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked) Hook();
else UnHook();
}
//---------------------------------------------------------------------------
Última edición por escafandra fecha: 06-02-2009 a las 14:52:12. |
|
#3
|
|||
|
|||
|
gracias por la buena onda ahora cuando este en casa voy a probar esas cosas !
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Enviar teclas a otras aplicaciones | cmm07 | Varios | 5 | 12-02-2008 01:33:46 |
| hacer interactuar 2 aplicaciones de delphi | pablito23 | Varios | 4 | 08-11-2007 06:41:07 |
| Monitorear eventos de otras aplicaciones | Marco A. Ruiz | API de Windows | 0 | 22-08-2006 21:41:59 |
| Capturar errores de otras aplicaciones | Borro | API de Windows | 1 | 21-10-2005 21:40:03 |
| Problema al ejecutar las aplicaciones en otras maquinas | Durbed | Varios | 1 | 09-08-2005 18:09:43 |
|