Ver Mensaje Individual
  #1  
Antiguo 04-01-2013
chuli17 chuli17 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Reputación: 0
chuli17 Va por buen camino
Question ¿Como esperar a que se ejecute un programa externo sin que termine?

Hola muy buenas a todos y Feliz Año, aber si alguien me puede ayudar ya que e buscado y no encuentro nada ,tengo este codigo:

Código Delphi [-]
uses
Windows, Funciones;

var
  Process: Cardinal;
  H, U: HWND;
begin
  Process := ExecuteProcess('GameLauncher.exe');

//Aqui quiero que se pare asta que la ventana del juego sea visible, si no para, ejecuta el resto de codigo antes de tiempo y no funciona...
/////////////////////////////////////////////
if Process <> 0 then                       //
                                           //  Esto no me funciona aveces depende lo que tarde en abrir, ya que el juego es pesado.
WaitForSingleObject(Process, 6000);        //
////////////////////////////////////////////
begin
  H := FindWindow('WindowsForms10.Window.8.app.0.fcf9a4', nil); //WindowsForms10.Window.8.app.0.fcf9a4
if H <> 0 then
begin
  U := FindWindowEx(H, 0, 'WindowsForms10.Window.8.app.0.fcf9a4', nil); //WindowsForms10.Window.8.app.0.fcf9a4
if U <> 0 then
begin
  U := FindWindowEx(U, 0, 'WindowsForms10.EDIT.app.0.fcf9a4', nil); //WindowsForms10.EDIT.app.0.fcf9a4
if U <> 0 then
  SendMessage(U, WM_SETTEXT, 0, Integer(PCHAR('123456789'))); //Envio Contraseña para colocarla en un edit.
  PostMessage(U,WM_KEYDOWN,VK_RETURN,0); // Envio un INTRO al edit para entrar en el juego.
    end;
  end;
end;

end.

Lo que quisiera es que pare despues de ExecuteProcess, asta que la ventana sea visible, nose si me e esplicado bien, aber si alguien me puede tirar alguna ayudilla e intentado varias cosas y nada... Muchas gracias desde ya.

Última edición por chuli17 fecha: 04-01-2013 a las 02:26:06. Razón: Icono del mensaje inportante
Responder Con Cita