Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejectuando una aplicacion externa (https://www.clubdelphi.com/foros/showthread.php?t=72289)

jandrorm 09-02-2011 00:16:03

Ejectuando una aplicacion externa
 
Buenas a todos, mi pregunta es la siguiente, ¿seria posible abrir desde delphi un programa externo al que yo estoy programando y que cuando este se abra se presione a la tecla intro automáticamente?


No se si me e explicado muy bien es como si nosotros abriéramos por ej: firefox y una vez este este abierto le demos al INTRO.


Gracias a todos.

Neftali [Germán.Estévez] 09-02-2011 09:11:39

Para abrir un programa externo puedes buscar en los foros sobre WinExec o ShellExecute. Hay bastantes ejemplos al respecto. Para enviar la tecla necesitas el Handle de la ventana para enviarle un mensaje.

Si buscas sobre enviar teclas, también encontrarás temas. Realiza la búsqueda sobre "enviar teclas".

jandrorm 09-02-2011 13:16:29

He estado buscando y no e encontrado nada sobre enviar una pulsación a una aplicación externa, si alguien podría darme una orientación. Gracias.

Ñuño Martínez 09-02-2011 14:51:16

Dependiendo del tipo de aplicación, puedes utilizar "stdin" y "stdout".

Si nos dices qué programa o programas son y para qué quieres "pulsar intro" te podremos dar más pistas.

rgstuamigo 09-02-2011 15:11:07

Bueno...:rolleyes: creo que no has buscado bien; de todas formas puedes hacerlo de la siguiente forma:
Digamos en el evento OnClick de un boton:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var H:THandle;
begin
WinExec('C:MyArchivo.exe',SW_SHOWNORMAL);// ejecuto la aplicacion externa
H:=FindWindow(Nil,'Aqui va el "Caption de Ventana" de la aplicacion ejecutada');//Busco el Handle por su "nombre" de la ventana 
                                                                       //de la aplicacion que ejecuté

if H<>0 then // si encuentra una ventana con ese Caption
 PostMessage(H,WM_KEYDOWN,VK_RETURN,0); // le mando un mensaje para que se pulse la tecla RETURN (ENTER)
end;
Tambien si lo deseas puedes pulsar cualquier boton de la aplicacion externa, tal como se indica en éste hilo.;)
Saludos...:)

jandrorm 09-02-2011 16:13:56

Muchisimas gracias, funciona a la perfeción, la verdad que no vi ese post. Un saludo a todos.


La franja horaria es GMT +2. Ahora son las 20:47:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi