Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Puntero virtual

Saludos. Primero, he buscado en la funcion "buscar" puntero virtual, pero encontraba "puerto virutal" u otras cosas que no me sirven, por eso abro un nuevo hilo. Me gustaría saber como se puede hacer un "puntero virutal", que clique en una posición determinada de una ventana, y a ser posible, si que esta esté la primera. Ya tengo la manera de localizar la ventana (handle), así que solo necesito lo del puntero. Gracias.
Responder Con Cita
  #2  
Antiguo 07-07-2008
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Creo que no te entiendo... ¿Por puntero no te referirás al ratón? Si es así debes buscar por "mouse" no por "puntero".
Responder Con Cita
  #3  
Antiguo 07-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
Creo que no te entiendo... ¿Por puntero no te referirás al ratón? Si es así debes buscar por "mouse" no por "puntero".
Ademas creo que es "virtual" no "virutal" ...

Que tal una busqueda por cursor
__________________
Web
Responder Con Cita
  #4  
Antiguo 07-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Busco pero no encuentro nada... ¿Alguna ayudita? Lo que quiero hacer exactamente es algo como:

FindWindow(tal y cual);
SendMouseClick(posición x, posición y);

Y automáticamente un cursor virtual (si es preferible, uno que no tenga nada que ver con el de verdad) clica en en la posición "x" "y".
Responder Con Cita
  #5  
Antiguo 07-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Al hacer click en esa parte de la ventana lo haces sobre algun componente visual?

Bueno el caso es que encontre algo sobre la funcion SetCursorPos y en esta pagina encontre un articulo, espero te sea de ayuda

http://delphi.about.com/od/vclusing/a/mouseadvanced.htm
__________________
Web
Responder Con Cita
  #6  
Antiguo 07-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola. Puedes crear uno, mediante un Timage y cargando en ella el cursor para luego moverla hacia donde te interesa. Si lo que quieres es mover el cursor real, entonces deberias enviar mensajes al mouse, de manera parecida a como se envian teclas virtuales. Desconozco el tema en profundidad pero seguro que por el foro encuentras ejemplos que puedas adaptar. Saludos

PD: rectifico, he probado el setcursorpos y va muy bien.
Responder Con Cita
  #7  
Antiguo 08-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Pero SetCursorPos maneja el cursor real, ¿No?. Y con la imagen esa que dices, no sé si se podrá usar para "clicar", porque yo no quiero que se vea el cursor virtual. Para que te hagas una idea, lo que quiero hacer es un programa-robot para un juego, y lo que quiero es que el programa haga una tarea repetidas veces mientras haces otra cosa.
Responder Con Cita
  #8  
Antiguo 08-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Cita:
Empezado por rauros Ver Mensaje
Pero SetCursorPos maneja el cursor real, ¿No?. Y con la imagen esa que dices, no sé si se podrá usar para "clicar", porque yo no quiero que se vea el cursor virtual. Para que te hagas una idea, lo que quiero hacer es un programa-robot para un juego, y lo que quiero es que el programa haga una tarea repetidas veces mientras haces otra cosa.
Y hace click sobre algun componente visual? o dibuja algo?
__________________
Web
Responder Con Cita
  #9  
Antiguo 08-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Perdón, quiero hacer clic sobre un botón que siempre es visualmente el mismo (no se si eso es a lo que te refieres).
Responder Con Cita
  #10  
Antiguo 08-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Cita:
Empezado por rauros Ver Mensaje
Perdón, quiero hacer clic sobre un botón que siempre es visualmente el mismo (no se si eso es a lo que te refieres).
Entonces simplemente haces esto:

Código Delphi [-]
boton.click;

Creo que es asi ... espero te sirva
__________________
Web
Responder Con Cita
  #11  
Antiguo 09-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
pero el botón de otra aplicación no hecha por mí ^^.
Responder Con Cita
  #12  
Antiguo 09-07-2008
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Entonces envíale un evento a ese programa.
Primero tienes que capturar la ventana de ese programa y luego enviarle los eventos que necesites a los componentes que quieras (como pulsar ese botón).
Este foro tiene una sección "API de windows" en la que seguramente encontrarás información al respecto.
Responder Con Cita
  #13  
Antiguo 10-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Y que paso al fin... encontraste la manera de pasar eventos a otra aplicacion?

Seria interezante, tambien me gustaria conocer algo al respecto sobre este tema...
__________________
Web
Responder Con Cita
  #14  
Antiguo 10-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Esperad un par de días, que toy ocupao y os digo como me ha ido, si bien os explico, y si mal os explico también. Pero gracias a todos.
Responder Con Cita
  #15  
Antiguo 10-07-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Cita:
Empezado por rauros Ver Mensaje
Esperad un par de días, que toy ocupao y os digo como me ha ido, si bien os explico, y si mal os explico también. Pero gracias a todos.
Claro, no hay problema
__________________
Web
Responder Con Cita
  #16  
Antiguo 11-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Al final lo pude probar hoy. Funciona a la perfección, incluso me he hecho un procedimiento que simula un click, solo con una línea de comando:

Código Delphi [-]
procedure SimularClick(X: integer; Y: Integer);
var tp: TPoint;
begin
Windows.GetCursorPos(tp);
SetCursorPos(x,y);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or
               MOUSEEVENTF_LEFTDOWN,
               x, y, 0, 0) ;;
Mouse_Event(MOUSEEVENTF_ABSOLUTE or
               MOUSEEVENTF_LEFTUP,
               x, y, 0, 0) ;;
SetCursorPos(TP.X,tp.Y)
end;
Responder Con Cita
  #17  
Antiguo 22-07-2008
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
Excelente!! muchas gracias no sabés como me facilitaste la vida

.. te menciono en los créditos
Responder Con Cita
  #18  
Antiguo 22-07-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Créditos? Qué créditos?
Responder Con Cita
  #19  
Antiguo 23-07-2008
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
Thumbs up

En los agradecimientos del programa ..

.. estoy haciendo un programilla en el que realiza un clic pre-programado, o sea tu le indicas dónde quieres el clic y la hora de disparo y el software hace el resto.

Por ahora la ventana (y el lugar) dónde se hace el clic tiene que estar visible, no en primer plano, pero sí visible ... estoy trabajando para poder restaurar la ventana antes de realizar el clic y de esa forma la dejas tranquilamente minimizada y al momento del disparo la aplicación hace todo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿puntero a puntero? Guillermo80 Varios 3 09-03-2008 22:46:32
puntero gaston260 API de Windows 11 01-02-2008 22:39:20
No es un delirio, fue real o "virtual": Funeral virtual que se transforma en masacre! delphi.com.ar La Taberna 42 21-06-2007 18:00:59
puntero *pantalla en c++ coletaun Varios 15 21-07-2006 14:46:04
Virtual Replay - Repetición Virtual de los Goles del Mundial delphi.com.ar La Taberna 0 26-06-2006 17:15:07


La franja horaria es GMT +2. Ahora son las 05:26:00.


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
Copyright 1996-2007 Club Delphi