|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как отрубить клаву.
Подскажите или скажите как решить следующую проблему:
Написал программку которая запускается на старте Windows, при её запуске полность очишается рабочий стол тоесть кликами мышки ни куда не войти, кликать не куда, и пока в поле Edit не ввести правильный код и не нажать Button от окна не избавиться и ничего не вернуть на рабочий стол, после правильного ввода кода всё вернётся на место, но проблема заключается в том что по клавиатуре можно войти в мой копм если есть на клаве такая кнопка, или открыть диспетчер задач Alt+Ctrl+Del и тогда смысл проги теряется. Как мне полностью отключть клаву пока программа активна а как только форма закроется то и клава будет функционировать. Спасибо. |
#2
|
||||
|
||||
Ты можешь сделать прогу невидимой для Ctrl+Alt+Del...а то лично я недогнал как ты с нерабочей клавы в Edit будешь пароль вводить...
До implementation вписываешь: function RegisterServiceProcess(dwProcessID, dwType: integer): integer; stdcall; external 'KERNEL32.DLL'; А потом: procedure TForm1.FormCreate(Sender: TObject); begin if not(csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 1); end; Причем "1" в конце - это "невидимость" , а "0", соответственно, "видимость" ЗЫ: сам непробывал, но должно сработать... |
#3
|
|||
|
|||
Не заработает RegisterServiceProcess был только в виндоусе 95\98\ME
На платформе NT его нет впринципе. Просто при загрузке прога в KERNEL32.DLL не найдет такого метода. |
#4
|
||||
|
||||
Тут пример Dll, с которой под ХР мона прятаться...в ней есть "защита от дураков" (раньше думал что её только в примерах вирусов, да червей всяких вставляют), так что не поленись все пересмотреть и снять защиту...
ЗЫ: опять же ни каких гарантий не даю... эту статью я еще не читал... |
#5
|
||||
|
||||
Всем спасибо!!!
Я попробую вечером, а пока я на работе. Да хотел сказать что спрашивали как с нерабочий клавы вводить значения? я сделал просто кнопки на моей форме примерно как в Виндовском калькуляторе что то типа панели, и всё, вводи чего хочешь. |
#6
|
|||
|
|||
Напиши плз код отключения клавы
|
#7
|
||||
|
||||
Что-то вроде этого:
Код:
winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show); Код:
Отрубить Asm in al,21h or al,00000010b out 21h,al End; Врубить Asm in al,21h mov al,0 out 21h,al End; |
#8
|
||||
|
||||
а не проще ли будет просто перехватывать нажатие клавиш, и разрешать их вводить только в заданном окне? а?
|