Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
3-14468
SER
2002-11-19 05:37
2002.12.05
Help! Нужен совет по базам. (не пинайте plzzz).


1-14548
FLAW
2002-11-24 00:15
2002.12.05
Посоветуйте, пожалуйста, как лучше отсортировать текстовый файл.


1-14570
Vcoder
2002-11-23 20:22
2002.12.05
TCanvas.ClipRect : как изменить?


7-14830
Krez
2002-10-02 12:18
2002.12.05
Com порт


7-14842
max2057
2002-10-05 09:21
2002.12.05
С чего начинается Родина или Как выключаются Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский