![]() |
![]() |
| 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
|
|||
|
|||
|
Es interesante el programa este, no soy capaz de hacer gran cosa con él, pero demuestra que se puede acceder a todas las "ventanas" de una aplicación, como ya te había comentado, tanto a los edits como a los forms, etc... y de hecho si utilizas el botón ese de "Send Command" a cualquiera de ellos lo que hace es cambiarle el texto, ya sea el Caption en los labels, forms, etc... o el Text en los Edits... Lo malo es que no todas las "ventanas" tienen nombre (o al menos no aparece), entonces no sabes realmente a cuál de ellas le estás mandando cosas si no vas probando... y claro, tal y como te avisa la aplicación, "es tu responsabilidad"
![]() Un saludo, LoPiTaL |
|
#2
|
|||
|
|||
|
estuve haciendo experimentos y no logro meter la ruta en la ventana "Abrir". Esto es lo que hice:
char s[200]="O:\\NU\\Projects\\FuA\\CC_EL\\Centerdaten\\ECU_Test\\Projects\\DQ200_G2\\Tools\\EcuFlashTool\\Flas hMonitorEOL\\DQ200G2_Flash_Monitor_EOL.ini"; wnd = FindWindow (NULL,"ECU Flash Tool"); BringWindowToTop(wnd); keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(0x4F, 0, 0, 0); keybd_event(0x4F, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); wnd = FindWindow (NULL,"Open File"); BringWindowToTop(wnd); for( i= 0;i<= strlen(s);i++) { keybd_event((int)s[i], 0, 0, 0); keybd_event((int)s[i], 0, KEYEVENTF_KEYUP, 0); } el problema es que los signos ":" y "\" no los quiere escribir. Tienes alguna idea de cómo añado estos signos? Saludos. Abel. |
|
#3
|
|||
|
|||
|
Hola a todos,podría por favor alguien traducirme esto a C, yo me hice un rollo y no me resulta.
Gracias de antemano. Abel. procedure Keyb_Event(C: CHAR); var S: WORD; begin S:= VkKeyScan(C); if(S and $0100) <> 0 then keybd_event(VK_SHIFT,0,0,0); if(S and $0200) <> 0 then keybd_event(VK_LCONTROL,0,0,0); if(S and $0400) <> 0 then keybd_event(VK_LMENU,0,0,0); keybd_event(S,0,0,0); keybd_event(S,0,KEYEVENTF_KEYUP,0); if(S and $0100) <> 0 then keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0); i f(S and $0200) <> 0 then keybd_event(VK_LCONTROL,0,KEYEVENTF_KEYUP,0); if(S and $0200) <> 0 then keybd_event(VK_LMENU,0,KEYEVENTF_KEYUP,0); end; |
|
#4
|
|||
|
|||
|
Cita:
A mí me ha funcionado a la perfección. Un saludo, LoPiTaL |
|
#5
|
||||
|
||||
|
Esa función la escribí yo para resolver la duda que ahora presentas y ya la traduje aquí. El problema es que con keybd_event no se pueden simular caracteres conseguidos con teclas modificadoras como AltGr (Ctl+Alt). Por ese motivo escribí una nueva versión que ahora te vuelvo a presentar:
Código:
// El parámetro C es el carácter que queremos escribir.
Keyb_Event(char C)
{
WORD S = VkKeyScan(C);
if(S & 0x0100) keybd_event(VK_SHIFT,0,0,0);
if(S & 0x0200) keybd_event(VK_LCONTROL,0,0,0);
if(S & 0x0400) keybd_event(VK_LMENU,0,0,0);
keybd_event(S,0,0,0);
keybd_event(S,0,KEYEVENTF_KEYUP,0);
if(S & 0x0100) keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);
if(S & 0x0200) keybd_event(VK_LCONTROL,0,KEYEVENTF_KEYUP,0);
if(S & 0x0400) keybd_event(VK_LMENU,0,KEYEVENTF_KEYUP,0);
}
Última edición por escafandra fecha: 26-05-2010 a las 16:36:37. |
|
#6
|
|||
|
|||
|
Cita:
Justamente a mi no me resultaban esos Caracteres: ":", especialmente el "\", pero ahora implementé tu código a mi programa y .... por fin. Muchas gracias por vuestro tiempo y las respuestas. Esta tarde seguiré implementando mi programa, mi siguiente desafío es hacer que de alguna forma tengo que simular que presiono con el ratón en el "Communication Settings" (pueden ver el PDF que adjunté antes). La idea que me dió LoPiTal sobre usar el TAB varias veces hasta encontrar este ícono, en este caso no resulta ; solo se puede acceder a esa ventana usando el ratón. Talvez ustedes tienen otra idea, les agradecería.Saludos Abel. |
|
#8
|
|||
|
|||
|
Hola Escafandra,
lo acabo de probar y funciona, gracias por ese aporte. Ahora realizaré lo demas que ya no es problema. Saludos desde Berlin. Abel |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Acceder a una aplicación externa | FDB | Varios | 3 | 22-01-2008 14:45:02 |
| Aplicacion externa a c++ | alloger | C++ Builder | 1 | 28-10-2006 01:37:09 |
| Manipular una aplicacion externa | lookmydoom | API de Windows | 2 | 09-08-2006 23:22:52 |
| Ejecutar comandos en aplicación externa | José Craviotto | Varios | 1 | 03-02-2006 14:21:28 |
| Ejecutar aplicación externa | taita | API de Windows | 4 | 07-08-2005 00:45:57 |
|