Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
14-5237
teebot
2003-01-14 11:48
2003.02.03
Помогите настроить маршрутизацию на Вин98, одна надежда на вас


1-4937
maxim2
2003-01-23 07:43
2003.02.03
Почему на функцию FileExist Delphi ругается Udeclared identifier


7-5304
Андрей Ваганов
2002-11-24 18:27
2003.02.03
Всегда активная форма.


1-5042
relaxoid
2003-01-20 19:00
2003.02.03
Help в chm, как его подключить?


14-5270
Eugenex
2003-01-17 10:35
2003.02.03
Кто видел эту JWA? A где?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский