Форум: "Система";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПрехват клавишь: 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c