<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Perdón Antonio, pero para que necesitas saber el Handle?</div><div class="gmail_default" style="font-family:tahoma,sans-serif">Le piensas enviar mensajes de Windows con SendMessage o algo por el estilo?</div>
<div class="gmail_default"><span style="font-family:tahoma,sans-serif">Si es sólo para esperar a que el proceso termine, puedes usar la propiedad Options, agregando poWaitOnExit, o mirando la propiedad Running.</span></div>
<div class="gmail_default"><span style="font-family:tahoma,sans-serif"><br></span></div><div class="gmail_default"><span style="font-family:tahoma,sans-serif">De acuerdo a la <a href="http://www.freepascal.org/docs-html/fcl/process/tprocess.html">documentación</a>, las propiedades Handle y ProcessHandle te devuelven el Handle al programa, el Hwnd es el Handle a la ventana, no al programa, y no estoy seguro que eso funcione fuera de Windows.</span></div>
<div class="gmail_default"><br></div><div class="gmail_default"><font face="tahoma, sans-serif">Saludos,</font></div><div class="gmail_default"><font face="tahoma, sans-serif">Martín</font></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013/8/1 José Mejuto <span dir="ltr"><<a href="mailto:joshyfun@gmail.com" target="_blank">joshyfun@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
El 01/08/2013 8:16, Antonio Évora escribió:<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
No puedes :( Un proceso puede lanzar múltiples "windows", por lo tanto<br>
lo único que puedes hacer es, usando el ThreadHandle, enumerar todas<br>
las ventanas de ese proceso, y de algún modo elegir la que quieres.<br>
<br>
</blockquote>
Gracias José.<br>
Entiendo lo que me dices. Pero siempre debe haber un<br>
formulario/ventana/window principal, ¿como puedo saber cual es el<br>
principal?<br>
<br>
</blockquote>
<br></div>
Hola,<br>
<br>
No, no hay, ese es un concepto de Delphi. En mi opinión lo máximo que puedes acercarte de modo genérico es lanzar el proceso, y entrar en un bucle esperando a que el proceso tenga alguna ventana abierta (EnumWindows) y usar la primera que aparezca. Lo malo es que si el programa tiene una ventana de presentación (splash), esa es la que te comerás :(<br>
<br>
Por supuesto esto no es cross-platform, en Windows funciona pero lo dudo en otros SO.<br>
<br>
EnumWindows devuelve los handles de las ventanas por Z-Order, o sea, primero la que se muestra por encima de las otras (dentro de ese proceso).<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br></font></span><div class="HOEnZb"><div class="h5">
<br>
<br>
______________________________<u></u>_________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.<u></u>freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.<u></u>freepascal.org/mailman/<u></u>listinfo/lazarus-es</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:tahoma,sans-serif">Try not to become a man of success but rather to become a man of value. <i>Albert Einstein</i></span></div>
</div>