Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Как на время отключить только клавиатуру   Найти похожие ветки 

 
Vasiliy ©   (2003-12-16 18:24) [0]

Как на время отключить только клавиатуру
ShellExecute(Application.Handle,
 Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
 Pchar("rundll32 keyboard,disable"),
 Pchar("C:\Windows"),SW_SHOWNORMAL);
Работает отрубает на мертво а вот братно никак
rundll32 keyboard,enable хоть и есть но не работает


 
Erazser   (2003-12-17 01:31) [1]

Тут только один вариант: используй хуки (ловушки, hook"s) в FAQ этого сайта есть нужная инфа!


 
Bestden   (2004-02-15 15:47) [2]

А разве в ХР этой командой
ShellExecute(Application.Handle,
Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
Pchar("rundll32 keyboard,disable"),
Pchar("C:\Windows"),SW_SHOWNORMAL);

мона вырубить клаву???
У меня не получается...!!! Может что-то не так со мной? :)


 
Unax ©   (2004-02-15 21:49) [3]

В XP нельзя, такое сканает только под 9x


 
xion ©   (2004-02-16 03:53) [4]

Воспользуйся ловушка(hook) событий от клавы,
перехвытывай и дальше не отпровляй


 
able ©   (2004-02-16 14:01) [5]

>xion ©   (16.02.04 03:53) [4]
Но в ХР всё равно ctrl-alt-del будет и работать и всё разблокируется...


 
NightAngel ©   (2004-02-16 23:04) [6]

Пример для Win95/98, WinME:

procedure CallRing0(Ring0Func:pointer);
const
ExceptionUsed = 5;
var
 IDT       : array [0..7] of byte;
 lpOldGate : dword;
asm
 pushad
 sidt fword ptr IDT
 mov ebx, dword ptr [IDT+2]
 add ebx, 8*ExceptionUsed
 mov dx, word ptr [ebx+6]
 shl edx, 16d
 mov dx, word ptr [ebx]
 mov [lpOldGate], edx
 mov eax, Ring0Func
 mov word ptr [ebx], ax
 shr eax, 16d
 mov word ptr [ebx+6], ax
 push ebx
 int ExceptionUsed
 pop ebx
 mov ebx, dword ptr [IDT+2]
 add ebx, 8*ExceptionUsed
 mov edx, [lpOldGate]
 mov word ptr [ebx], dx
 shr edx, 16d
 mov word ptr [ebx+6], dx
 popad
end;

procedure DisableKeyboard;
asm
 dw $20CD dd $0000D0008
 dw $20CD dd $0000D0010
 db $CF
end;

procedure EnableKeyboard;
asm
 dw $20CD dd $0000D0008
 dw $20CD dd $0000D000F
 db $CF
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 CallRing0(@DisableKeyboard);
 Sleep(10000);
 CallRing0(@EnableKeyboard);
end;


Для WinXP нужен драйвер режима ядра, или ч/з Ring0 (это уже из области вирусных технологий и приводить примеры я не буду).



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

Форум: "WinAPI";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
1-1081405239
prorok2
2004-04-08 10:20
2004.04.25
Изменение картинки при нахождении над ним курсора мыши


3-1080548815
gedd
2004-03-29 12:26
2004.04.25
Поле "Счетчик" в MS SQL Server 2000.


4-1077798972
DennisLNC
2004-02-26 15:36
2004.04.25
Drag&Drop на WinAPI


14-1080807245
PVOzerski
2004-04-01 12:14
2004.04.25
Не разбирается ли кто-нибудь в распайках USB-"выкидышей"


4-1077104602
sherminator
2004-02-18 14:43
2004.04.25
чекиты в главном меню





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