Explorer.exe обрушился на меня, не ставя систему полностью на колени. Это не первый раз, когда это произошло. По сути, я теряю панель запуска + панель задач + системный значок + значки рабочего стола и остаюсь сплошным темно-синим рабочим столом (без фонового изображения).
С помощью control-alt-delete я могу вызвать меню экрана блокировки (включая диспетчер задач). Используя комбинацию диспетчера задач, командных приглашений и Process Explorer от MS sysinternals, я могу генерировать как стандартные пользовательские окна, так и окна с повышенными правами (подробности доступны при необходимости). Тем не менее, ни под моим стандартным логином, ни под учетной записью администратора с повышенными правами я не могу перезапустить проводник для восстановления рабочего стола. Запуск explorer.exe без каких-либо ключей, похоже, ничего не делает. Explorer.exe /n или /e (или любой другой задокументированный переключатель или запуск с « START ») дает мне окно браузера файлов, но не панель запуска + панель задач. Уничтожение и перезапуск этого explorer.exe также не восстанавливает функциональность. Щелкните правой кнопкой мыши проводник Windows (новое окно проводника файлов) в диспетчере задач и выберите "Перезапустить", чтобы удалить его из "Процессы" -> "Приложения к процессам" -> "Процессы Windows" (без открытого проводника файлов), а перезапуск оттуда изменяет его на "Процессы" -> "Фон". Процессы, в которых нет ни открытого файлового менеджера, ни пункта меню "Перезагрузка".
Сочетания клавиш Windows, кажется, не работают, так как панель запуска не существует. Они не работают с запущенным окном проводника в фокусе. Alt-F4, в котором ничего не находится в фокусе или после нажатия на синем фоне, не вызывает никакого меню / диалога. Alt-F4 из приложения все еще работает, чтобы закрыть это окно | приложения соответствующим образом. Сигналы увеличения и уменьшения громкости моих наушников также не интерпретируются независимо от того, что остается в системе (но я могу регулировать громкость с помощью ползунка для конкретного приложения).
Кажется, я не могу вызвать диалоговое окно завершения работы, как указано во втором разделе https://serverfault.com/questions/4464/hidden-commands-on-windows, так как я не могу использовать сочетания клавиш или панель запуска. Используя следующий код, вдохновленный этим и этим:
<!DOCTYPE html>
<!-- saved from url=(0016)http://localhost -->
<HTML>
<HEAD>
<TITLE>Start Page</TITLE>
<OBJECT ID="oShell"
CLASSID="clsid:13709620-C279-11CE-A49E-444553540000">
</OBJECT>
<STYLE>
INPUT {width: 200}
</STYLE>
<SCRIPT LANGUAGE="VBScript">
<!--
function fnStart(sMethod)
dim objShell
set objShell = CreateObject("shell.application")
set objWscr = CreateObject("WScript.Shell")
select case sMethod
case 0
'Minimizes all windows on the desktop
oshell.Shell_MinimizeAll
case 1
'Displays the Run dialog box
oshell.FileRun
case 2
'Displays the Shut Down Windows dialog box
'neither oshell.Shell_Shutdown nor oshell.Shell_ShutdownWindows (supplied in MS docs) are recognized as valid functions of the oshell object.
objShell.ShutdownWindows
oshell.ShutdownWindows
'objWscr.Run "Rundll Shell32.dll,SHExitWindowsEx" ' returns "The system cannot find the file specified" error box.
set objShell = nothing
case 3
'Displays the Find dialog box
oshell.Shell_FindFilesr
case 4
'Displays the Date/Time dialog box
oshell.Shell_SetTime
case 5
'Displays the Internet Properties dialog box
oshell.Shell_ControlPanelItem "INETCPL.cpl"
case 6
'Explores the My Documents folder
oshell.Shell_Explore "C:\My Documents"
case 7
'Enables user to select folder from Program Files
oshell.Shell_BrowseForFolder 0, "My Programs", 0, "C:\Program Files"
case 8
'Opens the Favorites folder
oshell.Shell_Open "C:\WINDOWS\Favorites"
case 9
'Displays the Taskbar Properties dialog box
oshell.Shell_TrayProperties
end select
end function
-->
</SCRIPT>
<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
function logout() {
//code
(new ActiveXObject("Shell.Application")).ShutdownWindows();
}
logout();
</SCRIPT>
</HEAD>
<BODY>
<H1>Start...</H1>
<INPUT type="button" value="Edit Taskbar Properties" onclick="fnStart(9)"><br>
<INPUT type="button" value="Open Favorites Folder" onclick="fnStart(8)"><br>
<INPUT type="button" value="Browse Program Files" onclick="fnStart(7)"><br>
<INPUT type="button" value="Explore My Documents" onclick="fnStart(6)"><br>
<INPUT type="button" value="Modify Internet Properties" onclick="fnStart(5)"><br>
<INPUT type="button" value="Set System Time" onclick="fnStart(4)"><br>
<INPUT type="button" value="Find a File or Folder" onclick="fnStart(3)"><br>
<INPUT type="button" value="Shut Down Windows" onclick="fnStart(2)"><br>
<INPUT type="button" value="Run" onclick="fnStart(1)">
<INPUT type="button" value="Minimize All Windows" onclick="fnStart(0)">
</BODY>
</HTML>
Поскольку hta-файл (и нажатие на выключить окна) ничего не делает, но не выдает никаких ошибок. Как файл htm (l) в Internet Explorer он выдает ошибку "Отказано в доступе", независимо от настроек локальной зоны. Я пробовал несколько перестановок этого кода, в том числе: здесь, здесь
Control-Alt-Delete с последующим "переключением пользователя" и прямым входом в систему как учетной записью администратора приводит к входу в чисто черный экран с курсором мыши. Control-Alt-Delete и переключение обратно на мою учетную запись без прав администратора возвращает мой сплошной темно-синий "рабочий стол" без значков (примерно через 0,1 с отображения сплошного светло-голубого | голубого | рабочего стола "рабочий стол").
Мне интересно, есть ли CLSID или объект приложения, который может быть вызван для вызова того, что вызывается из control-alt-shift + cancel из диалога выключения? В качестве альтернативы, знаете ли вы каким-либо образом, как я могу убить системную службу, которая закрывает проводник, перезапустить службу, чтобы вернуть мне мой рабочий стол?
Я бы предпочел не выключать и не перезагружать компьютер, так как я по сути использую этот компьютер в качестве сервера и хочу, чтобы он работал как можно быстрее.