PDA

Ver la Versión Completa : Simular click!


rob1
18-06-2007, 06:14:00
Hola amigos:

No he tenido problemas simulando teclas pero la verdad no se como hacerlo con un click.
Uso este procedimiento para las teclas
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,


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 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:

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:


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.