Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Глобальный хук на мышку   Найти похожие ветки 

 
Aric   (2002-10-02 21:14) [0]

Приветсвую, помогите кто чем может. Нужно перехватывать нажатие средней кнопки мыши в любом месте (не только на моей форме) и повесить на него нажатие на опред. кнопку на форме.
Делаю так

unit ms_;

interface

implementation

uses Windows, Controls, Messages, ShDocVw, un_;

var
HMouseHook:THandle;

function MouseProc(
nCode: Integer; // hook code
WP: wParam; // message identifier
LP: lParam // mouse coordinates
):Integer;stdcall;

var MHS:TMOUSEHOOKSTRUCT;
WC:TWinControl;
P:TPoint;
begin
Result:=CallNextHookEx(HMouseHook,nCode,WP,LP);
if nCode=HC_ACTION then
begin
MHS:=PMOUSEHOOKSTRUCT(LP)^;
if ((WP=WM_MBUTTONDOWN) or (WP=WM_MBUTTONUP)) then
begin
SendMessage(Form1.bitbtn1.Handle, BM_CLICK, 0, 0);
end;
end;
end;

initialization

HMouseHook:=SetWindowsHookEx(WH_MOUSE,@MouseProc,HInstance,0);

finalization

CloseHandle(HMouseHook);

end.



Вроде б при вызове SetWindowsHookEx(WH_MOUSE,@MouseProc,HInstance,0) - последний 0 означает, что перехватываются сообщения от всех потоков, однако при клике на моей форме все работает, вне вылетает с красным крестом.
Заранее спасибо.


 
rhf ©   (2002-10-02 21:19) [1]

вы пользуетесь локальным хуком..... а нужен глобальный, библиотечку писать надо.
Прочитайте статью "Hooks аспекты реализации"


 
Song ©   (2002-10-02 23:17) [2]

Нужна dll.



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

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-14461
Брат
2002-11-18 16:20
2002.12.05
Количество записей в таблице...


14-14782
r-a-z-o-r
2002-11-15 09:38
2002.12.05
---|Ветка была без названия|---


14-14751
Дремучий
2002-11-13 20:08
2002.12.05
Визитка....


8-14698
Ал
2002-08-19 16:02
2002.12.05
Антиалиас


3-14420
LSW
2002-11-16 23:24
2002.12.05
Помгите разобраться с SQL в Paradox таблице