Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно отключить левую кнопку на мышке


volodya_ ©   (2002-12-02 11:09:00) 

Нужно отключить левую кнопку на мышке, вот исходный код библиотеки

library getmsghook;

uses
Windows,
Messages;

var
HookHandle: HHOOK;

function GetMessageHook(HookCode, RemovalFlag, MsgAddr: integer): integer; stdcall;
begin
if HookCode = HC_ACTION then
begin
//КАК ЗДЕСЬ ОТЛОВИТЬ НАЖАТИЕ ЛЕВОЙ КНОПКИ НА МЫШКЕ И ОТКЛЮЧИТЬ???
end;
Result:= CallNextHookEx(HookHandle, HookCode, RemovalFlag, MsgAddr);
end;

function SetHook: boolean; stdcall;
begin
HookHandle := SetWindowsHookEx(WH_MOUSE, @GetMessageHook, HInstance, 0);
Result := HookHandle <> 0
end;

function RemoveHook: boolean; stdcall;
begin
Result := UnhookWindowsHookEx(HookHandle)
end;

exports
SetHook,
RemoveHook;

begin
end.


Song   (2002-12-03 14:05:00) [1]

Ну дак попробуй, что же ты спрашиваешь :-)


volodya_   (2002-12-03 10:35:00) [2]

А если использовать в
SetWindowsHookEx(WH_GETMESSAGE, @GetMessageHook, HInstance, 0);
не WH_GETMESSAGE, а WH_MOUSE ????


Diamond Cat   (2002-12-03 01:42:00) [3]

если нужно просто отрубить появление попапов то есть более простой путь (правда не удалось посмотреть что на ссылке, но исходя из названия hook.rar подход совсем другой)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Policies\Explorer
NoTrayContextMenu = 1 Запретить контекстное меню на трее
NoViewContextMenu = 1 Запретить контекстное меню
прописываешь это в реестр


Song   (2002-12-02 13:33:00) [4]

Всё понятно.
Я когда писал этот пример, тоже задавался этим вопросом.
По-видимому FAR использует нестандартные ф-ии обмена сообщениями. Кстати по-моему такая шняга наблюдается с любой программой в ДОС эмуляции.


volodya_   (2002-12-02 13:14:00) [5]

Ага, нигде не работает правая кнопка, а вот в Far"e работает, мне кажется такая проблема со всеми досовскими приложениями


Song   (2002-12-02 12:58:00) [6]

Только в FAR"е? В других программах не работают?


volodya_   (2002-12-02 12:37:00) [7]

Всё понятно, разобрался с этим. Но появилась ещё одна проблемка:
Всё работает ( точнее не работает)но когда переключаюсь например на FAR то кнопки все как работали так и работают, как побороть эту проблему????


volodya_   (2002-12-02 12:24:00) [8]

Ок! Спасибо!


Song   (2002-12-02 11:43:00) [9]

http://coolsong.narod.ru/hook.rar

но комментарии все по ссылке, так что подожди, в течении дня заработает.


volodya_   (2002-12-02 11:38:00) [10]

Чёто не открывается эта ссылка :(((, можно и сюда бросить всё что там находится или на wolf@kazna.ck.ua


Song   (2002-12-02 11:10:00) [11]

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197


Наверх

Титульная страница Поиск, карта сайта Написать письмо