2

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 из диалога выключения? В качестве альтернативы, знаете ли вы каким-либо образом, как я могу убить системную службу, которая закрывает проводник, перезапустить службу, чтобы вернуть мне мой рабочий стол?

Я бы предпочел не выключать и не перезагружать компьютер, так как я по сути использую этот компьютер в качестве сервера и хочу, чтобы он работал как можно быстрее.

1 ответ1

2

Вы можете попробовать запустить C:\Windows\system32\userinit.exe который является первым компонентом, который запускается при входе пользователя в систему (он запускает Explorer.exe в качестве оболочки Windows).

Не уверен, что не так с вашей системой, но userinit.exe находится на один уровень ниже Explorer.exe, так что это может помочь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .