Здравствуйте всем.
Win2000+BCPP.
Написана программа для завершения процесса по его идентификатору с использованием вызова TerminateProcess. Обнаружено странное поведение EXPLORER.EXE — процесс убивается (это видно по исчезновению рабочего стола), но сам запускается через несколько секунд
(SE_DEBUG_NAME устанавливается — использован для контроля текст Александра Федотова с данного сайта — не влияет на такое странное поведение). Для других пользовательских процессов такого не наблюдается.
Если EXPLORER.EXE завершить с помощью диспетчера задач, то такого странного поведения не наблюдается.
Какая разница между этими двумя способами и что надо сделать, чтобы программно завершить EXPLORER.EXE
Здравствуйте, IPv6, Вы писали:
I> Нормально — это когда приложению приходит сообщение WM_QUIT
I> а то что ты делаешь — просто роняешь процесс на пол. и кстати автозапуск
I> эксплорера при crashе (твой случай) в виндах майкрософтовцы сделали
I> специально, так как он слишком часто падал без видимой причины (в 95ых
I> например). да и сейчас с active desktopом падает. а в те далекие времена
I> далеко не каждый пользователь догадывалсяя запустить его через
I> ctrl-alt-del
Пара поправок. В семействе 9x запустить что-либо через Ctrl-Alt-Del невозможно. Во-вторых, файл оболочки системы определяется параметром реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell. Там же есть параметр AutoRestartShell, который
[msdn]
Determines whether the Windows 2000 user interface (typically, Explorer.exe) is restarted automatically if it stops unexpectedly.
[/msdn]
-- Всего хорошего!
-- Alex Alexandrov, e-mail: alexandrov_alex@fromru.com
Posted via RSDN NNTP Server 1.7 "Bedlam"