![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
alt+ctrl+del [Win95/98, NT4]
Maksss © (2004-02-18 18:31:00)не подскажите как перехватить альт+контолдел в 98\нт но не спрятать приложени а запуститься как это делает таск менеджер
т.е. приостановить(в 98) все процесы и показать свою форму
MyNick (2004-03-24 10:15:00) [1]Не проще запретить винде перезапись системных файлов и сделать подмену файла TASKMGR.EXE ?
DeadMeat (2004-03-01 14:44:00) [2]
Позволяет, еще как!
Это шутка или как...??
dr Tr0jan (2004-03-01 08:54:00) [3]2 Игорь Шевченко © (19.02.04 12:18) [9]
> >SystemParametersInfo (97, Word (True), @OldVal, 0);
SPI_SETSCREENSAVERRUNNING ?
И что, позволяет _перехватить_ Ctrl+Alt+Del ?
Позволяет, еще как! только это дело стопудово канает в Win98. Не знаю в чем глюк, но эта шняга не отрубает [Tab].
Alexander666 (2004-03-01 06:55:00) [4]Кстати, в НТ-системах про Ctrl-Alt-Del еще и Рихтер упоминал. Я вот спрашивал тут про работу с RIT-ом, так как именно там обрабатываются все эти комбинации. Ответ был отрицательным, да я впрочем и сам ничего не нашел. Единственный выход, на мой взгляд, - работа с GINA.
DNS (2004-02-29 14:00:00) [5][16] можно отключить защиту файлов...
DeadMeat (2004-02-29 13:29:00) [6]
> и получаем то что требовалось
Я думаю, что даже близко это не то, что требовалось...
не подскажите как перехватить альт+контолдел в 98\нт но не спрятать приложениа запуститься как это делает таск менеджер
DNS (2004-02-29 13:19:00) [7]// Убираем процесс из Ctrl+Alt+Del.
Function RegisterServiceProcess(dwProcessID, dwType : DWord): DWord;
stdcall external 'Kernel32.dll' name 'RegisterServiceProcess';
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterServiceProcess(GetCurrentProcessId(), 1);
//1- скрыть , 0 - показать
end;
DNS (2004-02-28 23:50:00) [8][30] очень редко вижу не ленивых админов, которые еще и думают что пользователи таким занимаються а не в инете лазят %)
Вообще в XP получаеться можно от него избавиться навсегда... Одна проблема решена. Теперь к 98 - тут все сложнее в 98 самый простой способ - поиск окна, но он и самый не надежный :-(
Но в 98 тоже есть фокус - можно спрятать свое окно из Ctrl-Alt-Del, а в XP нельзя. Комбинируем оба метода и получаем то что требовалось (или почти то что надо).
VMcL (2004-02-27 12:32:00) [9][31]
Это слишком правильно, чтоб с этим можно было не согласиться ))
Anatoly Podgoretsky (2004-02-27 11:37:00) [10]В Win9x это не поможет
VMcL (2004-02-27 11:23:00) [11]>>DNS (27.02.04 08:22) [29]
>некоторые локеры в инте кафе так и убиваються
Кто мешает админу в Local/Domain Policies запретить запись в
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\
?
DNS (2004-02-27 08:22:00) [12]HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr
Оба поставить в 1 и Таск мэнеджер в XP (на других не пробовал) запустить невозможно, конечно если не знать оба ключя и не уметь писать REG файлы (некоторые локеры в инте кафе так и убиваються - DisableRegistryTools 0 и включаем мэнеджер ==> убить процесс :)
Gero (2004-02-24 17:25:00) [13]> Игорь Шевченко © (24.02.04 16:15) [27]
Не буду с Вами спорить.
P.S. Руссинович с Соломоном тоже могли ошибаться...
Игорь Шевченко (2004-02-24 16:15:00) [14]Gero © (23.02.04 00:53)
Читаем Руссиновича с Соломоном, где русским по белому написано: SAS на прикладном уровне не перехватывается.
Anatoly Podgoretsky (2004-02-23 09:48:00) [15]Ну там не перехва этих клавиш, а вызов системой новеловского клиента, как gina.dll
KSergey (2004-02-23 09:39:00) [16]> Игорь Шевченко © (23.02.04 00:12) [21]
> Про Novell Client я слышал и охотно верю, что там это сделали.
> Но боюсь, что автор вопроса все-таки несколько меньшим опытом
> обладает...
Ну дело, видимо, все же не в опыте, а в наличии документированного механизма, правда?
А я лично так до сих пор и не могу понять: ест ьон этот документированный механизм или нет...
Во всяком случае упомянутый новеловский клиент видимо вклинивается как-то отлично от упомянутого Almaz © (23.02.04 01:45) [24] механизма... Во всяком случае в данной ветке реестра ничего нет (на сашине, где он установлен). Или есть еще вариант? Или они прямо нагло подменяют MSGina.dll своей?
to Almaz © (23.02.04 01:45) [24]
Спасибо, так и запишем! ;)
PS
Я же говорил, что надо Gina.dll копать! ;)
Almaz (2004-02-23 01:45:00) [17]
> Перехват ctrl+Alt+Del на NT-системах не проходит.
>
Просто перехватить чем-то типа хука конечо не выйдет, но имея права администратора можно следующее: пишете DLL - прозрачную копиюMSGina.DLL, т.е. экспортируете все ее функции и на их вызов вызываете соответствующие функции из MSGina. Затем перехватываетеWlxLoggedOnSAS- это обработчик SAS при залогиненном пользователе и пишете примерно следующее:
function Gina_WlxLoggedOnSAS(pWlxContext: Pointer;
dwSasType: DWORD; pReserved: Pointer): Integer; stdcall;
begin
if MessageBox(0, 'Обработать нажатие CTRL+ALT+DEL ?', 'Обнаружено SAS',
MB_YESNO or MB_ICONQUESTION) = IDYES then
Result := WlxLoggedOnSAS(pWlxContext, dwSasType, pReserved) else
Result := WLX_SAS_ACTION_NONE;
end;
Затем копируете свою DLL в %WINNT%/SYSTEM32/ и в реестре (вот тут нужны права администратора) создаете в веткеHKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinlogonзначениеGinaDLL, в которое и пишете название файла своей DLL. Перезагружаетесь и получаетет требуемый эффект.
Удачи.
Удачи.
Gero (2004-02-23 00:53:00) [18]> Игорь Шевченко © (23.02.04 00:12) [21]
Да, но в [1] Вывсе же погорячились.
Gero (2004-02-23 00:53:00) [19]> Игорь Шевченко © (23.02.04 00:12) [21]
Да, но в [1] вы все же погорячились.
Игорь Шевченко (2004-02-23 00:12:00) [20]Gero © (23.02.04 00:00)
Про Novell Client я слышал и охотно верю, что там это сделали.
Но боюсь, что автор вопроса все-таки несколько меньшим опытом обладает...