![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте уважаемые знатоки
Как можно отловить движение мыши по оси Y, то-есть влево-вправо ? Программа будет свернута, отлавливать нужно будет в чужом окне. Признаюсь, хочу попробовать сделать стабилизатор стрейфов для cs 1.6. (Для пополнения своих знаний delphi). То-есть если мышку двигать влево, нажимается кнопка "A" и не отпускается пока не перестану движение, тоже самое если двигать в право, только нажимается кнопка D. Мне кажется придется работать с хуками ? Но как именно поймать движение, именно лево-право ? |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
||||
|
||||
|
Цитата:
Код:
var
dX,mX: integer;
KeyDwn: boolean;
procedure TForm1.Timer1Timer(Sender: TObject);
var
ms: TMouse;
begin
Timer1.Interval:= 100;
dX:= ms.CursorPos.X;
if (mX > dX) and (not KeyDwn) then
begin
keybd_event({A} 65, 0, KEYEVENTF_EXTENDEDKEY, 0);
KeyDwn:= true;
end;
if (mX < dX) and (not KeyDwn) then
begin
keybd_event({D} 68, 0, KEYEVENTF_EXTENDEDKEY, 0);
KeyDwn:= true;
end;
if (mX = dX) and (KeyDwn) then
begin
keybd_event(65, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
keybd_event(68, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;
if mX = dX then KeyDwn:= false;
mX:= dX;
end; |
|
#4
|
||||
|
||||
|
Цитата:
|
|
#5
|
||||
|
||||
|
Оффтоп:
Цитата:
![]() |