Página 1 de 1

Abrir Juego/Programa dentro de una GUI ¿Posible?

Publicado: 05 Feb 2012, 02:02
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!

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

Publicado: 06 Feb 2012, 10:14
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

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

Publicado: 06 Feb 2012, 14:28
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.

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

Publicado: 06 Feb 2012, 14:41
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.

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

Publicado: 06 Feb 2012, 15:16
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 :)

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

Publicado: 07 Feb 2012, 09:34
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.

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

Publicado: 07 Feb 2012, 12:30
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. ;-)

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

Publicado: 07 Feb 2012, 13:16
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!

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

Publicado: 07 Feb 2012, 13:26
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.

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

Publicado: 07 Feb 2012, 13:50
por ziknos
Perfecto, pues me pondré dentro de poco a hacerlo, ya iré comentando los progresos.

Muchas gracias :) :smt023