[Lazarus-es] TProcess Handle

Martin Gomez mmgomez en gmail.com
Vie Ago 2 01:27:24 CEST 2013


Perdón Antonio, pero para que necesitas saber el Handle?
Le piensas enviar mensajes de Windows con SendMessage o algo por el estilo?
Si es sólo para esperar a que el proceso termine, puedes usar la propiedad
Options, agregando poWaitOnExit, o mirando la propiedad Running.

De acuerdo a la
documentación<http://www.freepascal.org/docs-html/fcl/process/tprocess.html>,
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.

Saludos,
Martín


2013/8/1 José Mejuto <joshyfun en gmail.com>

> El 01/08/2013 8:16, Antonio Évora escribió:
>
>
>>> No puedes :( Un proceso puede lanzar múltiples "windows", por lo tanto
>>> lo único que puedes hacer es, usando el ThreadHandle, enumerar todas
>>> las ventanas de ese proceso, y de algún modo elegir la que quieres.
>>>
>>>  Gracias José.
>> Entiendo lo que me dices. Pero siempre debe haber un
>> formulario/ventana/window principal, ¿como puedo saber cual es el
>> principal?
>>
>>
> Hola,
>
> 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 :(
>
> Por supuesto esto no es cross-platform, en Windows funciona pero lo dudo
> en otros SO.
>
> 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).
>
> --
>
>
> ______________________________**_________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org>
> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
>



-- 
Try not to become a man of success but rather to become a man of value. *Albert
Einstein*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130801/5bb1b35d/attachment-0002.html>


More information about the Lazarus-es mailing list