Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизКак получить клик мышкой Найти похожие ветки
← →
НиколайКо (2007-02-09 13:21) [0]Как получить клик мышкой на экране, а не только на форме?
← →
Правильный Вася (2007-02-09 13:23) [1]подставить форму под место клика
ps винда посылает клики туда куда считает нужным
она не считает нужным посылать их в твою прогу если кликают куда-то в другое место
← →
RASkov (2007-02-09 13:33) [2]Mouse_Event();
← →
НиколайКо (2007-02-09 15:48) [3]Точнее вопрос задам:
1. Как мне отловить клик (а не кликнуть) мышой по экрану?
2. А можно ли без подсовывания формы под мышку?
← →
Loginov Dmitry © (2007-02-09 16:03) [4]Мышеловку пиши.
← →
trubin © (2007-02-09 18:46) [5]SetWindowsHookEx + WH_Mouse = море примеров в инете
← →
RASkov (2007-02-09 19:26) [6]> [3] НиколайКо (09.02.07 15:48)
GetAsyncKeyStat()
← →
trubin © (2007-02-09 20:37) [7]
> RASkov (09.02.07 19:26) [6]
> > [3] НиколайКо (09.02.07 15:48)
>
> GetAsyncKeyStat()
Ему же сам момент надо отловить
← →
RASkov (2007-02-10 01:14) [8]> [7] trubin © (09.02.07 20:37)
По таймеру пусть ловит...
← →
UrbanRider (2007-02-10 01:23) [9]Создание мышиного перехватчика
library hookdemo;
uses
beeper in "deldemoshookdemobeeper.pas";
exports
sethook index 1,
unhookhook index 2,
hookproc index 3;
begin
hookedalready:=false;
end.
, где beeper.pas содержит следующий код:
unit beeper;
interface
uses wintypes, winprocs, messages;
function sethook: boolean; export;
function unhookhook: boolean; export;
function hookproc(code: integer; wparam: word;
lparam: longint): longint; export;
var
hookedalready: boolean;
implementation
var
ourhook: hhook;
function sethook: boolean;
begin
if hookedalready then
exit;
ourhook := setwindowshookex(wh_mouse, hookproc, hinstance, 0);
hookedalready := true;
end;
function unhookhook: boolean;
begin
unhookwindowshookex(ourhook);
hookedalready := false;
end;
function hookproc(code: integer; wparam: word;
lparam: longint): longint;
begin
if (wparam = wm_lbuttondown) then
messagebeep(0);
result := callnexthookex(ourhook, code, wparam, lparam);
end;
end.
Теперь, при вызове из приложения функции sethook, при каждом нажатии левой кнопки мыши будет раздаваться сигнал - до тех пор, пока вы не вызовете функцию unhookhook. В действующем приложении возвращаемое функцией callnexthookex значение < 0 сведетельствует об отсутствии манипуляций с мышью.
Источник:
x-program
Яндекс творит чудеса чувак...
← →
RASkov (2007-02-10 01:51) [10]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (GetAsyncKeyState(VK_LBUTTON) <> 0) then Caption:="нажата левая кнопка"
else if (GetAsyncKeyState(VK_RBUTTON) <> 0) then Caption:="нажата правая кнопка"
else Caption:="кнопки не нажаты";
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c