Abrir Juego/Programa dentro de una GUI ¿Posible?

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
ziknos
Aprendiz de Mago
Mensajes: 50
Registrado: 02 Mar 2009, 17:36

Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por ziknos »

Hola, me gustaría saber si es posible crear una GUI por ejemplo de tamaño 1200 x 800 y dentro de ella crear un espacio de 1024x768 que sería la resolución de un juego y ejecutarlo dentro de la GUI.

El resto de la GUI sería para poner botones y texto.

Si es posible, cómo se haría??

Muchas gracias!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por Ximorro »

Hum, no sé si ese juego se dejará capturar. Como mínimo debe poder ejecutarse en modo ventana, y entonces se podría intentar capturar su ventana como hija de tu GUI.

No es un tema básico precisamente pero aquí tienes un ejemplo que hizo Chefito en el que incorporaba dentro de su GUI algunos procesos de Windows (notepad, calculadora, etc.). Con MDI inserta toda la ventana dentro de su GUI, podrías maximizarla para que ocupe todo el espacio asignado.
http://www.emesn.com/autoitforum/viewto ... 881&p=6912
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
ziknos
Aprendiz de Mago
Mensajes: 50
Registrado: 02 Mar 2009, 17:36

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por ziknos »

Sí, el juego estaría abierto en modo ventana.

Puedes indicarme el link del ejemplo de Chefito o con que nombre podría buscarlo?

Muchas gracias :)


EDIT: ya lo he encontrado.
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por Ximorro »

¡Perdón!, vaya fallo, si lo de "aquí tienes un ejemplo" es porque iba a poner debajo el enlace, que de hecho había buscado. Pero luego he acabado el párrafo y se me ha olvidado.
Edito arriba el comentario añadiendo el enlace por si a alguien le sirve.

Ya nos dirás si consigues algo.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
ziknos
Aprendiz de Mago
Mensajes: 50
Registrado: 02 Mar 2009, 17:36

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por ziknos »

Estoy probando pero de momento no consigo nada, también es que mi nivel de autoit es un poco bastante bajo... jeje pensé que sería un pelin más fácil :P.


PD: Tenéis alguna aplicación que nos diga las coordenadas y el color del pixel seleccionado? Lo pregunto por que para cada Pixelgetcolor que uso tengo que ejecutar el autoit y hacer un pixelgetcolor con la coordenada y una msgbox para que me muestre el color y es un poco molesto estar ejecutandolo cada 2x3.. (En decimal)

Un saludo y gracias :)
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por Ximorro »

En AutoIt lo puedes hacer fácil, en vez de que lo muestre en un msgbox lo mejor es tener un GUI al lado donde vaya sacando los valores en varias etiquetas.
Si quieres el color en hexadecimal también se puede sacar (con la función Hex() ).

Para capturar puedes asignar una tecla o combinación (HotKeySet()) que active/desactive la toma de dados, o puedes estar capturando constantemente (bueno, digamos cada 50 milisegundos, para no hundir la CPU) con las funciones ADLIB, por ejemplo, o quizás con el mismo bucle de control de eventos del GUI.

Empieza a hacerlo y te ayudamos, desde luego esto es mucho más fácil que lo de meter la ventana de otro programa en el tuyo ;-)
En el subforo de tutoriales hay uno para empezar con los GUIs, muy básico pero teniendo los conceptos claros se aprende mucho más rápido:
http://www.emesn.com/autoitforum/viewto ... f=2&t=2246

En ese subforo encontrarás otras cosas interesantes.

Cuando pongas alguna duda recuerda poner algo de código para que te ayudemos con lo que tienes hecho.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por Ximorro »

He estado haciendo pruebas con esto de meter una ventana hija dentro del GUI y he llegado a la conclusión de que probablemente no podrás insertar el juego. Es cosa de probarlo pero no creo.

No es necesariamente por la animación porque he probado por ejemplo un programa de animación vectorial e iba suave y todo.
Pero por ejemplo con el GoogleEarth sale la ventana en blanco.
Con el Windows Media sale el sonido pero no actualiza el video.

Así que me temo que un típico renderizado por directX de un juego no se va a ver por este método.

En cualquier caso si lo estabas haciendo por lo te tomar el pixel, como ves esto complicaba mucho las cosas y se podía hacer sin insertar la ventana en el programa. ;-)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
ziknos
Aprendiz de Mago
Mensajes: 50
Registrado: 02 Mar 2009, 17:36

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por ziknos »

Muchas gracias por toda tu ayuda, lo de insertarlo dentro de la GUI era para independientemente de la posición del juego en el monitor (juego 1024x768) y (monitor 1920x1080) los pixeles fueran los mismos, es decir sería para que al abrir el juego siempre estubiera en la posición "x0, y0" de la ventana y tener todo siempre a mano aunque moviera de lugar dicha ventana (gui)

Quizás no me he explicado muy bien pero creo que es medio entendible.. jaja

De todas formas como sería para ejecutarlo en VMware podría hacer para que dicha ventana esté siempre en la posición x0, y0 de la pantalla general y no necesariamnete de una GUI.

Muchas gracias por todo de nuevo, Un saludo!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por Ximorro »

Para eso lo que tienes que hacer es tomar coordenadas relativas a la ventana.
Para el ratón se hace con la opción MouseCoordMode (con valor 2 será relativo al contenido de la ventana, por defecto es global a la pantalla)
Y para tomar los píxeles con coordenadas relativas es con la opción PixelCoordMode, igualmente el valor 2 creo que es lo que necesitas.

Ya has usado lo de las opciones para poner lo de MustDeclareVars, se hace igual. Mírate en la ayuda la función Opt (AutoItSetOption en formato largo) y ahí las tienes explicadas todas.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
ziknos
Aprendiz de Mago
Mensajes: 50
Registrado: 02 Mar 2009, 17:36

Re: Abrir Juego/Programa dentro de una GUI ¿Posible?

Mensaje por ziknos »

Perfecto, pues me pondré dentro de poco a hacerlo, ya iré comentando los progresos.

Muchas gracias :) :smt023
Responder