Вниз
Скачать: CL | DM;

Эмкляция щелчка мыши   Найти похожие ветки 

 
maxXP ©   (2005-11-06 13:29) [0]

Подскажите как эмулировать щелчёк мыши.


 
jack128 ©   (2005-11-06 13:31) [1]

procedure MouseClick(Pt: TPoint; BackCursor: boolean = True);

 function ScreenToAbsolute(const Pt: TPoint): TPoint;
 begin
   Result.x := Round(Pt.x * 65535 / GetSystemMetrics(SM_CXSCREEN));
   Result.y := Round(Pt.y * 65535 / GetSystemMetrics(SM_CYSCREEN));
 end;

var
OldPt: TPoint;
begin
 if BackCursor then
 begin
   if GetCursorPos(OldPt) then
     OldPt := ScreenToAbsolute(OldPt)
   else
     raise Exception.Create("Не могу получить координаты курсора");
 end;
 Pt := ScreenToAbsolute(Pt);
 {Переместим курсор мыши}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);
 {Нажимаем левую кнопку мыши}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
 {Отпускаем левую кнопки мыши}
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
 if BackCursor then
   {Перемещаем курсор мыши обратно}
   Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, OldPt.x, OldPt.y, 0, 0);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
14-1131614974
ilya39
2005-11-10 12:29
2005.12.04
Аналог OpenDialog в VBA


4-1128330458
yura_moz
2005-10-03 13:07
2005.12.04
usb devices


2-1132288585
fligapter
2005-11-18 07:36
2005.12.04
перемещение указателя записи из другой формы


3-1129707692
DancerMan
2005-10-19 11:41
2005.12.04
Выполнить действие, если курсор находится на записи более 1сек.


3-1129816653
KorvinOE
2005-10-20 17:57
2005.12.04
Перетаскивание записей между DBGrid




   Наверх