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

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

как выкл и вкл мышь и клавиатуру??? [D6, WinXP]


Masya2001 ©   (2002-12-21 22:37:00) 

У меня не получется вкл мышь и вкл клавиатуру а выкл получается
посмотрите что не правильно?
WinExec("rundll32 mouse,disable",1);
WinExec("rundll32 mouse,enable",1);
WinExec("rundll32 keyboard,disable",1);
WinExec("rundll32 keyboard,enable",1);
Дело в чтом что выкл получается а вкл не могу и всё исправте плиз!


Masya2001   (2002-12-22 23:07:00) [1]

впрос в том как вкл мышь!!!


Song   (2002-12-22 22:48:00) [2]

заблокировать и клаву и мышь - rundll32, без включения
заблокировать клаву и мышт - BlockInput() с включением
заблокировать клаву - WH_KEYBOARD, WH_GETMESSAGE
заблокировать мышь - WH_MOUSE, WH_GETMESSAGE

CAD не блокируется нигде (возможно только в первом варианте в w9x)


Masya2001   (2002-12-22 21:55:00) [3]

var

Dummy : integer=0;
OldKbHook : HHook=0;

impementation

function KbHook( code: Integer; wparam: Word; lparam: LongInt ): LongInt; stdcall;
begin

if code<0 then Result:=CallNextHookEx( oldKbHook, code, wparam, lparam )
else Result:=1;
end;

// включение клавы
procedure TForm1.KeyBoardOn(Sender: TObject);
begin

if OldKbHook <> 0 then begin
UnHookWindowshookEx( OldKbHook );
OldKbHook := 0;
end;
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 0, 0, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, 0, 0);
end;

// выключение клавы
procedure TForm1.KeyBoardOff(Sender: TObject);
begin

SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
OldKbHook := SetWindowsHookEx( WH_KEYBOARD, @KbHook, HInstance, 0 );
end;
Если вместо WH_KEYBOARD поставить WH_MOUSE, то можно выключать таким образом мышь

это я нашёл где не помню но с клавой работает и под ХР
а как вкл мышь выкл она выкл а вкл её как а а то там не бало это описсанно???
подскажите пожалуста!


Masya2001   (2002-12-22 17:55:00) [4]

так что я не пойму что врубить мышь и клаву не возможно если возможно опишите подробнее пожалуста!


Song   (2002-12-22 10:39:00) [5]

BlockInput() нигде CAD не вырубает.


drin   (2002-12-22 01:32:00) [6]

Cпособ 1:

procedure BlockInput(Block: boolean); stdcall; external "USER32.DLL";


одно но: в XP Ctrl+Alt+Del её вырубает. :(


Cпособ 2:
Писать хук на клаву и на мишь.


Bosh   (2002-12-22 00:29:00) [7]

все правильно , винда их потом и не включает) почему не знаю , но они не работают, мож дело в том в какой последовательности видна загрузает дрова свои. Но факт в том что вкл не работает)


Наверх

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