Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Прехват клавишь: Alt ,Ctrl и Delete   Найти похожие ветки 

 
Ivolg ©   (2004-03-29 12:44) [0]

Уважаемые люди программеры помогите плиз! Мне нужно перехватить три кнопки на клаве Alt , Ctrl и Delete! Спасибо!


 
Игорь Шевченко ©   (2004-03-29 12:45) [1]

Не перехватываются. Зачем надо-то, может, другой способ есть ?


 
Ivolg ©   (2004-03-29 12:58) [2]

Игорь Шевченко
даже Alt отдельно перехватить нельзя?


 
pasha_golub ©   (2004-03-29 13:56) [3]

Ivolg ©   (29.03.04 12:58) [2]
Можно. Задачу подробнее изложите, плиз.


 
***ghost***   (2004-03-29 19:15) [4]

if (vk_key=alt) and (vk_key=control) and (vk_key=delete) then begin {ничего не происходит} end; Пожайлуста.


 
Cobalt ©   (2004-03-29 23:11) [5]

> ***ghost***  
LOL :)))

if (a=1) and (a=2) and (a=3) then begin ShowMessage("Что-то тут не то...") end;


 
Guestt   (2004-03-29 23:43) [6]

Где то я уже видел похожий вопрос.
Только там более кординально подошли к теме, спросили - "Как програмно клаву заблокировать?"


 
Alexis ©   (2004-04-04 14:58) [7]

Почитай о прерываниях BIOS и MSDOS, касающихся клавиатуры.


 
Gero ©   (2004-04-04 18:20) [8]

> ***ghost***   (29.03.04 19:15)
Гениально...

> Ivolg ©

OnKeyDown:
if (ssCtrl in Shift) and (ssAlt in Shift) and (Key = VK_DELETE) then
begin
 { А толку - ноль, все равно уже система их перехватила }
end;


 
sir John ©   (2004-04-04 19:22) [9]

может быть вот так?

const
 SPI_SCREENSAVERRUNNING = 97;
var
 OldValue: Longbool;
 {on}
 SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(True), @OldValue, 0);
 {off}
 SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(False), @OldValue, 0);
{
 Note: Runs only on Windows 95/98
 Bemerkung: Läuft nur unter Windows 95/98
}

{********************************************************}

{ Disable the TaskManager on Win NT systems (2000/XP) : }
{ (C) by Delphi.About }

uses
 Registry;

procedure EnableCTRLALTDEL(YesNo : boolean);
const
sRegPolicies = "\Software\Microsoft\Windows\CurrentVersion\Policies";
begin
 with TRegistry.Create do
 try
   RootKey:=HKEY_CURRENT_USER;
   if OpenKey(sRegPolicies+"\System\",True) then
   begin
     case YesNo of
       False:
         begin
           WriteInteger("DisableTaskMgr",1);
         end;
       True:
         begin
           WriteInteger("DisableTaskMgr",0);
         end;
     end;
   end;
   CloseKey;
   if OpenKey(sRegPolicies+"\Explorer\",True) then
   begin
     case YesNo of
       False:
         begin
           WriteInteger("NoChangeStartMenu",1);
           WriteInteger("NoClose",1);
           WriteInteger("NoLogOff",1);
         end;
       True:
         begin
           WriteInteger("NoChangeStartMenu",0);
           WriteInteger("NoClose",0);
           WriteInteger("NoLogOff",0);
         end;
     end;
   end;
   CloseKey;
 finally
   Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   EnableCTRLALTDEL(true);
end;



Код взят отсюда: http://www.swissdelphicenter.com/en/showcode.php?id=48


 
WondeRu ©   (2004-04-05 09:48) [10]

Пора вопрос про CTRL+ALT+DEL (SAS) в FAQ переносить! Каждую неделю этот вопрос! И все заканчивается ответом: "пиши свою MSGINA.dll!"


 
Ivolg ©   (2004-04-05 11:15) [11]

да уж пора


 
Anatoly Podgoretsky ©   (2004-04-05 13:27) [12]

WondeRu ©   (05.04.04 09:48) [10]
В fido7.ru.delphi этот вопрос перенесен не в FAQ, а в Offtopic List


 
pasha_golub ©   (2004-04-05 13:57) [13]

Anatoly Podgoretsky ©   (05.04.04 13:27) [12]

Трудно судить хороший ли это вопрос либо вредный. Нужно автора знать, чтобы понять чего пишется.


 
Игорь Шевченко ©   (2004-04-05 14:49) [14]

pasha_golub ©   (05.04.04 13:57)

Нетрудно судить - вредный вопрос.



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

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.031 c
14-1083132720
Pomoshnik
2004-04-28 10:12
2004.05.16
Delphi


14-1082449384
Igorek
2004-04-20 12:23
2004.05.16
Предлагаю ввести значок "Ламер", который выдавать всем желающим.


1-1083432904
Leon
2004-05-01 21:35
2004.05.16
PAGE_FAULT в NT


4-1080288056
Alexander
2004-03-26 11:00
2004.05.16
Как определить, что пользователь A входит в группу B?


3-1082454033
Litva
2004-04-20 13:40
2004.05.16
Exel...