![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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. |
|
#2
|
|||
|
|||
|
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
|
|
#3
|
||||
|
||||
|
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. |
|
#4
|
|||
|
|||
|
Muchas gracias, voy a revisar esas cosas!
gracias nuevamente! |
|
#5
|
||||
|
||||
|
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. |
|
#6
|
|||
|
|||
|
gracias por la buena onda ahora cuando este en casa voy a probar esas cosas !
|
![]() |
|
|
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 |
|