Abrir un exe externo a mi aplicacion pero con estilo fsStayOnTop
Holas amigos del club,estoy abriendo un exe externo a mi aplicasion con la siguiente funcion:
Funciona bien ,pero quisiera que tuviera el estilo que tiene el administrador de tareas de Windows es decir que cuando otra aplicacion se habre encima, esta no cubre el formulario,sino que visualmente se pone atras. Para hacer esto en Delphi se pone la propiedad: del formulario;es exactamente lo que quiero que suceda con el .exe que habro con la funcion WinExec, que tomara ese estilo;;) Gracias de antemano por sus colaboraciones y ayuda.:) |
POdrías utilizar FindWindow para encontrar la ventana principal de tu EXE (preferíblemente usando ClassName) y luego llamar a SetWindowPos para cambiar la forma en que se visualiza la ventana.
Si sabes la clase de tu form principal, puedes sustituir el "notepad" por la clase de tu form. También puedes usar el segundo parámetro para el título, pero personalmente me gusta más usar el primero. |
Gracias por responder amigo Neftali,:),pero al parecer no me funciona el codigo que posteaste.:(. Talves este haciendo algo mal.
Queria preguntarte algunas dudas;La funcion FindWindow no la conocia pero segun veo obtiene el Handle de lo que se le pasa en el parametro,me imagino que para que funcione el exe en cuestion ya debe estar abierto ¿verdad?,si me estoy equivocando avisame;eso significa que el siguiente codigo deberia funcionarme y no es asi: Aqui les pongo un codigo ejemplo que no hace lo yo quiero,por poner un ejemplo estoy abriendo la calculadora de Window, lo malo es que no se pone con el estilo que quisiera: Pero como les digo no me pone el estilo fsStayOnTop a la ventana.:( |
El nombre de la clase de la ventana de la calculadora es SciCalc, no calc. // Saludos |
Aunque funciona, "buscar" una ventana no significa encontrar la que tu has creado;
|
1 Archivos Adjunto(s)
Cita:
En al caso de la calculadora, podrías utilizar:
La siguiente pregunta lógica debe ser: ¿Y cómo se la clase de una ventana? :D Hay muchas utilidades que te pueden dar esta información tipo WinSpy, WinExp o FormClassSpy (esta última como es la más pequeña y simple te la adjunto) y seguro que por internet encuentras muchas más.... TAmbién debes tener en cuenta las llimitaciones de FindWindow, tal como apunta cHackAll. Si utilizas el título, debes tener en cuenta que el título no es siempre el mismo (a veces cambian durante la ejecución o en distintos idiomas) y en cuanto a la clase, pues tampoco es infalible si tienes 2 o 3 calculadoras ejecutándose. |
Muchas gracias a los tres,;),vaya ya decia yo que talves podria ir por el nombre, y muy buena esa herramienta Neftali;).
Mi codigo quedo asi: Empesado por Neftali> Cita:
Desde luego que quisas sea trucha mi solucion pero funciona y me evita que el usuario desde la aplicacion me habra dos o mas calculadoras.;). Como dicen los españoles: "si teneis otra solucion posteala.":D Saludos... |
La franja horaria es GMT +2. Ahora son las 08:57:16. |
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