Форум: "Система";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизКак заблокировать мышь... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c