Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Simular click! (https://www.clubdelphi.com/foros/showthread.php?t=44901)

rob1 18-06-2007 06:14:00

Simular click!
 
Hola amigos:

No he tenido problemas simulando teclas pero la verdad no se como hacerlo con un click.
Uso este procedimiento para las teclas
Código Delphi [-]
var
  Input: TInput;
begin
  Input.Itype := INPUT_KEYBOARD;
  Input.ki.wVk := VK_space; // Tecla a simular
  // Presionar tecla
  SendInput(1, Input, SizeOf(Input));
  // Soltar tecla
  Input.ki.dwFlags := KEYEVENTF_KEYUP;
  SendInput(1, Input, SizeOf(Input));
  application.ModalStarted;
end;
si alguien puediera decirme como simular los cliks le estaria agradecido.


**Me habia olvidado, si es posible también para elegir las coordenadas donde se hara el click.

dec 18-06-2007 10:48:05

Hola,

Código Delphi [-]
Windows.mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
Windows.mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

Las anteriores instrucciones simulan el "clic" del botón izquierdo de un ratón.

rob1 18-06-2007 17:50:29

ok
 
ok amigo lo probare, gracias por responder.

rob1 18-06-2007 18:09:56

hola!. Lo he provado y funciona muy bien pero no logro establecer las cordenadas donde quiero q el click se haga:
Código Delphi [-]
setcursorpos(1150,350);
Windows.mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
sleep(500);
Windows.mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

Solo funciona en windows, la idea es q funcionase tambien en elprograma que
deseo, a ver si alguien me ayuda.


**El click funciona perfectamenteen la otra aplicación, el tema es que se tiene q mover a las coordeanadas que le indico y no funciona

rob1 18-06-2007 18:25:45

hola de nuevo, estuve mirando la funcion q tu me escribiste y encontre, que puedo setear la posicion del mouse de esta manera:

Código Delphi [-]
windows.mouse_event(mouseeventf_move+mouseeventf_absolute,x,y,0,0)

El problema es que la punta del monitor para esa funcion es (65535,65535) en vez de (1280,1024) no entiendo como es esto =.=

Help PLz!

rob1 18-06-2007 21:36:03

bueno ya lo solucione, lo hice al modo cavernicola con tabla de 3 simples.

para el q esta trabajando en lo mismo solo le doy un consejo:

los valores del monitor los toma asi ^^ me causo un par de problemas de calculo,
0 _________________>X
|
|
|
|
|
|
|
Y
gracias dex por tu respuesta.


La franja horaria es GMT +2. Ahora son las 09:18:54.

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