C/Visual C - uso de Handle en C++ Builder, como hago?

 
Vista:

uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 23/06/2007 18:53:05
Hola gente de nuevo, a ver si me puede ayudar con esta pregunta, seguro que si, es facil. Tengo un juego corriendo en modo ventana y quiero que mediante un programa hecho en builder tome la ventana del juego y la desplaze exactamente a la posicion 0,0. Por que necesito tomar una screenshot, y comparar determinados pixeles para ver si son de un colo o de otro, y si la ventana esta corrida auque sea por 1 pixel no me va a funcionar. Se que lo tengo que hacer obteniendo el handle pero mis problema son:

Los codigos que hay dando vueltas por ahi no son para builder, y solo estoy familiarizado con Borland C++, C++ Builder y Visual C#.

Ademas esos codigos hablan de matar procesos, yo solo quiero mover la ventana no matarlo.

Entonces, conosco el nombre de la ventana, conosco el nombre del proceso.

Lo que necesito es sencillamente desplazar la ventana a la posicion 0,0 mediante un click a un boton.

Y agradeceria tambien que si pueden incluir comentarios de que hace el codigo en todo momento para no copiar codigo a ciegas y luego poder utilizarlo llegado el caso en otras cosas.

Y otra cosa jejeje... la otra duda que tuve de c++ builder la postie tambien en este foro C/Visual C... pero me estoy enterando que c++ builder es mas compañero de delphi asi que no se si estoy o no en el foro equivocado. O si estoy haciendo bien de postear aqui, es para saber para futuro ya que seguramente tendre otras consultas. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:uso de Handle en C++ Builder, como hago?

Publicado por JuanC (57 intervenciones) el 23/06/2007 21:17:46
Podés usar MoveWindow o SetWindowPos de la API de Windows
En ambos casos necesitás el Handle de la ventana (lo podés hallar
con FindWindow o FindWindowEx y de mil maneras más...)

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 24/06/2007 04:08:35
SetWindowPos();FindWindow(); muy lindos... pero no entiendo los argumentos...
supongo que SetWindowPos(FindWindow(...),...); pero en los puntos suspensivos no tengo ni idea...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por Nelek (816 intervenciones) el 25/06/2007 07:16:32
Ahora no estoy seguro pero creo que eran... top, left, width y large o sea, en pocas palabras, determinas la posicion y el largo ancho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 25/06/2007 12:36:05
ya se... alguno de los dos sabe donde puedo encontrar una ayuda sobre las winapi en castellano? para saber que hacen que devuelven y que les mando?
Por que estube leyendo un poco sobre las winapi y me di cuenta que lo que necesito es eso... algun manual o indice o algo que me diga cuales son las winapi que hacen, que devuelven y que se les envia para yo saber como y cuales usar. Y no encuentro en ningun lado o si ustedes tiene algun manualsito en pdf y me lo pueden mandar al mail se los voy a agradecer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 28/06/2007 04:35:38
Ya solucione mi problema, para cualquiera que necesite una ayuda sobre las APIs en c.conclase.net o... el apartado de las APIs creo que es winapi.conclase.net estan un manual donde explica varias de ellas, y en http://winprog.org/tutorial/es/index.html hay un tutorial de como convertir los tipos basicos de datos win32 a los tipos basicos de C y mas.

Con respecto a lo que me dijo JuanC, seria lo siguiente:
MoveWindow(FindWindow("Nombre de la ventana"),posx,posy,altoventana,anchoventana,true);

Duda respondida, gracias gente. Espero que si alguien lo necesita lo encuentre con mas facilidad que yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 28/06/2007 04:35:38
Ya solucione mi problema, para cualquiera que necesite una ayuda sobre las APIs en c.conclase.net o... el apartado de las APIs creo que es winapi.conclase.net estan un manual donde explica varias de ellas, y en http://winprog.org/tutorial/es/index.html hay un tutorial de como convertir los tipos basicos de datos win32 a los tipos basicos de C y mas.

Con respecto a lo que me dijo JuanC, seria lo siguiente:
MoveWindow(FindWindow(null,"Nombre de la ventana"),posx,posy,altoventana,anchoventana,true);

Duda respondida, gracias gente. Espero que si alguien lo necesita lo encuentre con mas facilidad que yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso de Handle en C++ Builder, como hago?

Publicado por LhaN (12 intervenciones) el 28/06/2007 04:37:03
Ya solucione mi problema, para cualquiera que necesite una ayuda sobre las APIs en c.conclase.net o... el apartado de las APIs creo que es winapi.conclase.net estan un manual donde explica varias de ellas, y en http://winprog.org/tutorial/es/index.html hay un tutorial de como convertir los tipos basicos de datos win32 a los tipos basicos de C y mas.

Con respecto a lo que me dijo JuanC, seria lo siguiente:
MoveWindow(FindWindow(null,"Nombre de la ventana"),posx,posy,altoventana,anchoventana,true);

Duda respondida, gracias gente. Espero que si alguien lo necesita lo encuentre con mas facilidad que yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar