Ver Mensaje Individual
  #19  
Antiguo 28-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por islu
Disculpa, fue fallo mio, Neftali me indicó un cambio que debí ver yo , y funcina perfectamente.
Ahora lo veo.....

Cita:
Empezado por Neftali
Código Delphi [-]
 hNotepad := FindThreadWindow(ProccesInfo.dwThreadId, 0, nil, nil);
por éstas dos.
Código Delphi [-]
   sleep(500);
   hNotepad := FindWindow('ConsoleWindowClass', nil);
  
   NOTA: el tema del Sleep no acaba de gustarme (aunque funciona); tal vez
   alguien tenga alguna idea mejor, porque esta es un poco "chapuza", por
   no decir "bastante chapuza".
Para evitar utilizar un sleep, precisamente creé la función FindThreadWindow con el parámetro wTimeOut, donde se especifican en milisegundos el tiempo que espera, para que el proceso pueda crear la dichosa ventana, si se exede este tiempo, el resultado es 0.
En ese caso podrías utilizar:
Código Delphi [-]
   hNotepad := FindThreadWindow(ProccesInfo.dwThreadId, 0, 'ConsoleWindowClass', nil);
Y solo buscarías la ventana del proceso creado y no de todos los procesos en ejecución en tu sistema. En el caso que exista otra consola abierta, con un simple FindWindow podrías encontrar la otra y eso no estaría nada bien.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 28-07-2005 a las 15:18:43.
Responder Con Cita