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

Вниз

Как заблокировать мышь...   Найти похожие ветки 

 
skeld   (2002-11-21 10:34) [0]

Как полностью заблокировать мышь, чтобы никаких сообщений в систему не поступало, а потом разблокировать при закрытии своего приложения?


 
Song ©   (2002-11-21 10:35) [1]

SetWindowsHookEx()


 
Dimich1978 ©   (2002-11-21 10:54) [2]

....
var
Form1: TForm1;
IP:string;

implementation

uses Unit2;

{$R *.DFM}

procedure BlockInput; external "user32.dll";
.....
И там где нужно блокировать
asm
push 0
call BlockInput
end;
,где push 1-блокировать и 0 соответственно.
при этом не забудь что блокировка снимается по Alt-Ctrl-Del
для этого просто запрети нажатие этих клавишь.


 
Song ©   (2002-11-21 10:57) [3]

2Dimich1978 © (21.11.02 10:54)
Самый умный, да? Сказали же, что только мышь!


 
Calm ©   (2002-11-21 11:05) [4]

Под win95/98 есть специальная апишная функция, которая блокирует мышь. Я когда-то нашел ее в FAQ на этом сайте.
Вот только не помню, можно ли потом разблокировать. Кажется можно.

P.S. Там есть еще много интересный функций - отрубить клаву, монитор, завесить систему(!!!)


 
Song ©   (2002-11-21 11:16) [5]

2Calm © (21.11.02 11:05)
Да, есть. Вызывается через rundll32, но вот включить обратно через неё, увы, никак :( А автору надо было ещё и включить потом, так что не подходит.


 
Dimich1978 ©   (2002-11-21 11:40) [6]

А если сделать так
1. Запомнить состояние мыщи
2. И при перемещениии программно переносить в эти координаты
Не знаю , хотя бы идея есть.


 
skeld   (2002-11-21 14:57) [7]

Я тут накопал кое-что, но у меня работает только когда мышь двигается над формой, а мне бы надо чтобы и вне окна тоже мышь не работала, вот исходник бибдиотеки может чего присоветуете?
Это pas файл:
unit hook;

interface

uses Wintypes,Winprocs,Messages;

function SetHook:Boolean;stdcall;
function UnHookHook:Boolean;stdcall;
function HookProc(Code:integer; wParam: Word; lParam: Longint): Longint;stdcall;

var
HookedAlready:Boolean;

implementation

var
ourHook:HHook;


function SetHook:Boolean;
begin
if HookedAlready then exit;
ourHook:=SetWindowsHookEx(WH_MOUSE,@HookProc,getmodulehandle("hooker.dll"),0);
HookedAlready:=True;
end;

function UnHookHook:Boolean;
begin
UnHookWindowsHookEx(ourHook);
HookedAlready:=False;
end;

function HookProc(Code:integer; wParam: Word; lParam: Longint): Longint;
begin
result:=0;
end;

end.
А это сам проект:
library hooker;

uses
hook in "hook.pas";

exports

SetHook index 1,
UnHookHook index 2;

begin
HookedAlready:=False;
end.


 
Игорь Шевченко ©   (2002-11-21 15:13) [8]

А вот еще один совет - выбросить эту затею из головы.


 
Оля   (2002-11-21 16:31) [9]

uses
ShellAPI;

отключает
ShellExecute(Application.Handle,Pchar("Open"),Pchar("C:\Win_me\Rundll32.exe"),Pchar("mouse,disable"),Pchar("C:\Win_me"),SW_SHOWNORMAL);

но не включает (а хз его знает почему...)
ShellExecute(Application.Handle,Pchar("Open"),Pchar("C:\Win_me\Rundll32.exe"),Pchar("mouse,enable"),Pchar("C:\Win_me"),SW_SHOWNORMAL);


 
Namo ©   (2002-11-21 22:30) [10]


> Игорь Шевченко

Не выбросить, а отсоединить проводки-проводочки.


 
Song ©   (2002-11-22 08:29) [11]

Оля (21.11.02 16:31), да ты молодец, я об этом сказал ещё в Song © (21.11.02 11:16)



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
8-5082
Jedi Knight
2002-10-18 21:37
2003.02.03
Md2 и Delphi


14-5140
ledzzz
2003-01-17 12:49
2003.02.03
barcode компоненты для delhi5


6-5127
alev
2002-12-06 13:10
2003.02.03
Список ip- адресов


14-5150
pumba
2003-01-17 13:55
2003.02.03
Новосибирские удальцы.


14-5255
Shaman
2003-01-16 16:40
2003.02.03
Форму 8ДР кто-нибудь делает или только я в такую фигню попал?