Показать сообщение отдельно
  #1  
Старый 07.12.2015, 12:43
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию Клик в точку без SetCursorPos

Тогда забил на это, но теперь снова вылезла задача, где двигать мышку просто не вориант. Вот даже тестовый вариант на осеове кода выше, который, в итоге кликает в томесто, где находиться мышка
Код:
 procedure TForm1.Clicking(x,y:Integer);
var
  aPT:TPoint;
  begin
  aPT.X:=x;
  aPT.Y:=y;
   //apt := ClientToScreen(apt);


    apt.X := Round(apt.X * (65535 / Screen.Width));
    apt.Y := Round(apt.Y * (65535 / Screen.Height));
       ShowMessage('x= '+inttostr(apt.X)+'y= '+inttostr(aPT.Y));
    Mouse_Event( MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTDOWN, apt.X, apt.Y, 0, 0 );
    Sleep(500);
      Mouse_Event( MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_RIGHTUP, apt.X, apt.Y, 0, 0 );
  end;
Clicking(1077,577)
apt на выходе содержит 36761,33799.
В чем собственно проблема?
если раскрыть
Код:
//apt := ClientToScreen(apt);
, то арт меняется, но кликает всеравно в томесто, где мышь.
Ответить с цитированием