![]() |
![]() |
| 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
|
|||
|
|||
|
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. |
|
#2
|
|||
|
|||
|
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; |
|
#3
|
|||
|
|||
|
Cita:
A mí me ha funcionado a la perfección. Un saludo, LoPiTaL |
|
#4
|
||||
|
||||
|
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 15:36:37. |
|
#5
|
|||
|
|||
|
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. |
|
#7
|
|||
|
|||
|
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 13:45:02 |
| Aplicacion externa a c++ | alloger | C++ Builder | 1 | 28-10-2006 00:37:09 |
| Manipular una aplicacion externa | lookmydoom | API de Windows | 2 | 09-08-2006 22:22:52 |
| Ejecutar comandos en aplicación externa | José Craviotto | Varios | 1 | 03-02-2006 13:21:28 |
| Ejecutar aplicación externa | taita | API de Windows | 4 | 06-08-2005 23:45:57 |
|