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
|
|||
|
|||
Interactuar con otras aplicaciones
Bueno hola antes que nada, quiero saber si me podrian ayudar en esta pequeña duda que tengo paso a explicarles
yo creo una aplicacion con un Checkbox solamente eso, y quiero que cuando el check box este marcado y el usuario preciona F1 escriba APROBADO pero necesito que este APROBADO lo escriba en cualquier aplicacion, asi sea notepad word pad o donde sea basicamente lo que quiero es que cuando mi aplicacion este ejecutada y se precione F1 escriba APROBADO en cualquier programa que este en primer plano en ese momento, no se si me explico bien espero que si y espero que me puedan ayudar con mi duda. Desde ya muchas gracias ! |
#2
|
||||
|
||||
Revisa el mensaje WM_SETTEXT o la API BOOL SetWindowText(HWND hWnd, LPCTSTR lpString)
Necesitarás el HWND del control donde quieres escribir tu texto. Si el HANDLE es de un formulario, te cambiará el Caption, Si es un control editable, se colocará ese texto. Saludos. |
#3
|
|||
|
|||
si es un notepad donde yo quiero escribir APROBADO como deberia hacerlo, podrias darme un ejemplo ?? la verdad no entiendo mucho del tema y no se manejar las API
|
#4
|
||||
|
||||
CReo que lo más sencillo es que tu programa (del checkbox) registre una ShortCut global a nivel de sistema.
Por ejemplo, en este hilo se muestra como registrar dos teclas de función. A partir de ahí podrías probar a enviar teclas a la aplicación activa, sea con algun mensaje o utilizando algun procedimiento. Si buscas en los foros "sendkeys" encontrarás varios mensajes (por ejemplo este) que te pueden servir.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Muchas gracias, voy a revisar esas cosas!
gracias nuevamente! |
#6
|
||||
|
||||
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. |
#7
|
|||
|
|||
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 |
|