Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.12.2006, 11:54
Аватар для Dimanus
Dimanus Dimanus вне форума
Прохожий
 
Регистрация: 20.11.2006
Адрес: Россия г.Братск
Сообщения: 33
Репутация: 10
По умолчанию Как отрубить клаву.

Подскажите или скажите как решить следующую проблему:
Написал программку которая запускается на старте Windows, при её запуске полность очишается рабочий стол тоесть кликами мышки ни куда не войти, кликать не куда, и пока в поле Edit не ввести правильный код и не нажать Button от окна не избавиться и ничего не вернуть на рабочий стол, после правильного ввода кода всё вернётся на место, но проблема заключается в том что по клавиатуре можно войти в мой копм если есть на клаве такая кнопка, или открыть диспетчер задач Alt+Ctrl+Del и тогда смысл проги теряется. Как мне полностью отключть клаву пока программа активна а как только форма закроется то и клава будет функционировать.
Спасибо.
Ответить с цитированием
  #2  
Старый 04.12.2006, 14:01
Аватар для GeneTic
GeneTic GeneTic вне форума
Прохожий
 
Регистрация: 24.11.2006
Сообщения: 15
Репутация: 10
По умолчанию

Ты можешь сделать прогу невидимой для 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  
Старый 04.12.2006, 19:59
AlexZL AlexZL вне форума
Новичок
 
Регистрация: 06.01.2006
Сообщения: 87
Репутация: 20
Восклицание

Не заработает RegisterServiceProcess был только в виндоусе 95\98\ME
На платформе NT его нет впринципе. Просто при загрузке прога в KERNEL32.DLL не найдет такого метода.
Ответить с цитированием
  #4  
Старый 04.12.2006, 21:14
Аватар для GeneTic
GeneTic GeneTic вне форума
Прохожий
 
Регистрация: 24.11.2006
Сообщения: 15
Репутация: 10
По умолчанию

Тут пример Dll, с которой под ХР мона прятаться...в ней есть "защита от дураков" (раньше думал что её только в примерах вирусов, да червей всяких вставляют), так что не поленись все пересмотреть и снять защиту...

ЗЫ: опять же ни каких гарантий не даю... эту статью я еще не читал...
Вложения
Тип файла: txt AppXP Hide.txt (12.9 Кбайт, 18 просмотров)
Ответить с цитированием
  #5  
Старый 05.12.2006, 05:47
Аватар для Dimanus
Dimanus Dimanus вне форума
Прохожий
 
Регистрация: 20.11.2006
Адрес: Россия г.Братск
Сообщения: 33
Репутация: 10
По умолчанию

Всем спасибо!!!
Я попробую вечером, а пока я на работе. Да хотел сказать что спрашивали как с нерабочий клавы вводить значения? я сделал просто кнопки на моей форме примерно как в Виндовском калькуляторе что то типа панели, и всё, вводи чего хочешь.
Ответить с цитированием
  #6  
Старый 02.01.2007, 18:44
I.g.I I.g.I вне форума
Прохожий
 
Регистрация: 17.01.2006
Сообщения: 9
Репутация: 10
По умолчанию

Напиши плз код отключения клавы
Ответить с цитированием
  #7  
Старый 02.01.2007, 19:55
Аватар для Artem28
Artem28 Artem28 вне форума
Прохожий
 
Регистрация: 07.08.2006
Сообщения: 32
Репутация: 10
По умолчанию

Что-то вроде этого:
Код:
winexec(Pchar('rundll32 keyboard,disable' ) ,sw_Show);
А можешь assambler:
Код:
Отрубить 

Asm  
 in al,21h   
 or al,00000010b  
 out 21h,al    
End;  

Врубить 

Asm  
 in al,21h  
 mov al,0  
 out 21h,al  
 End; 
Ответить с цитированием
  #8  
Старый 24.04.2007, 13:40
Аватар для SHKIP3R
SHKIP3R SHKIP3R вне форума
Новичок
 
Регистрация: 24.04.2007
Адрес: Челябинск
Сообщения: 69
Репутация: -1631
По умолчанию

а не проще ли будет просто перехватывать нажатие клавиш, и разрешать их вводить только в заданном окне? а?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter