Отключение из файла bat * без * закрытия подтверждения процесса в windows 95
Каждое руководство в сети говорит, что использовать RUNDLL USER.EXE,ExitWindows, который работает... из команды запуска
Однако при запуске из файла bat эта команда, хотя и работает, запрашивает подтверждение, чтобы убить "оставшиеся" процессы. Этот процесс является самой строкой cmd. Я не смог вызвать его с помощью CALL, но так как call создает новую командную строку, я ожидаю, что результат будет таким же.
Это только вопрос Windows 95, это для автоматического выключения виртуальной машины после запуска приложения. Основная идея заключается в том, чтобы в папке "Автозагрузка программ" был скрипт, который запускает приложение, ждет, пока оно не выйдет с помощью START /WAIT, а затем использует что-то для автоматического выключения окон.
4 ответа
Если вы установите свою программу в качестве оболочки вместо проводника, то она будет автоматически запускаться, и окна будут закрываться при выходе из программы.
Из поста, который я сделал в 2001 году
Скопируйте его в c:\windows. Если вы редактируете c:\windows\system.ini
и изменить
shell=explorer.exe
в
shell=progman.exe
тогда ваш компьютер запустится в режиме интерфейса win3.11.
С моего 15-летия с момента последнего обновления веб-сайта http://www.mvps.org/serenitymacros
Выход из Windows
Первые три раздела из Tweak95 доступны на странице загрузок. Четвертый раздел - изменения с Win98.
Завершить работу Windows
Команда для выхода из Windows 95. Это можно использовать только для выключения, а не для перезапуска или выхода в msdos. Для выхода в msdos введите ExitToMsDos, который запускает PIF-файл с тем же именем. Поместите команду в ярлык или командный файл.
C:\WINDOWS\RUNDLL32.EXE user.exe,ExitWindows
Перезагрузите Windows
Для перезапуска Windows скопируйте Exit To Dos.pif (часть pif скрыта), скопируйте и переименуйте его в Restart Windows. Отредактируйте программный лист в свойствах. Измените командную строку на:
C:\WINDOWS\command.com /C exit
Убедитесь, что флажок Закрыть при выходе установлен. В диалоговом окне "Дополнительно" установите флажок "Использовать текущую конфигурацию MSDos" для выхода и перезапуска Windows без перезагрузки. Проверьте Warn перед входом в режим MSDos, если требуется подтверждение перед выходом и перезапуском. Режим MSDos должен быть проверен.
Альтернативный способ - использовать функцию ExitWindowsExec. Это выходит из MSDos для запуска программы, но, поскольку ни одна из программ не предоставляется, Windows перезапускается. Нажмите на ярлык или диалоговое окно "Пуск - Выполнить".
C:\WINDOWS\RUNDLL.EXE user.exe,ExitWindowsExec
Диалоговое окно выключения
Этот reg файл установит выбор по умолчанию в диалоговом окне выключения. Windows 95B и IE4 запоминают последний выбранный параметр, поэтому, чтобы установить значения по умолчанию для этих версий (а не последнее действие), добавьте следующую командную строку в C:\Windows\Winstart.bat
(Создайте Winstart.bat
если необходимо). Не забудьте использовать короткое имя filke.
Regedit C:\<Path to Reg File>\ShutDown.Reg
Или эту командную строку для ярлыка и положить его в папку автозагрузки.
Regedit /s C:\<Path to Reg File>\ShutDown.Reg
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
'1=first choice in dialog box, 2=second choice, ect.
"Shutdown Setting"=dword:00000001
Через SHExitWindowsEx
Использование User.exe & User32.dll Выход Функции Windows не позволяют контролировать, какой тип завершения выполняется, поскольку параметры не передаются, они работают так, как будто передан 0 - что является отключением для ExitWindows и Logoff для ExitWindowsEx. Недокументированная функция SHExitWindowsEx в Shell32.dll, которую, похоже, использует Explorer, принимает параметры.
rundll32.exe shell32.dll,SHExitWindowsEx [optional number in hex]
Значение действия в шестнадцатеричном формате
EWX_LOGOFF 0
EWX_SHUTDOWN 1
EWX_REBOOT 2
EWX_FORCE 4
EWX_POWEROFF
for machines that turn off their own power 8
Эти значения могут быть добавлены вместе, например, 5 - завершение работы и принудительное закрытие приложений и неявный выход из системы.
Обратите внимание, что это не перезагрузка без перезагрузки. Для этого необходимо передать параметр 42 (шестнадцатеричный) в ExitWindows в User.exe. Это не может быть сделано из командной строки. Смотрите совет выше для обхода.
%windir%\System32\shutdown.exe -r -f
Добавление -f
заставляет систему выключаться или перезагружаться. в Windows 95 путь будет C:\Windows\Command со ссылкой на этот сайт
Попробуйте вызвать вышеуказанную команду с start
должен позволить вам запустить его в фоновом режиме, а не оставлять cmd.exe в ожидании. Я не знаю синтаксис 9x от макушки, но делаю start /?
в командной строке.
Есть несколько методов автоматического выключения для современных компьютеров (см. Эту ссылку и эту), но Windows 95 настолько старая, что я могу не работать. (Тем не менее, попытайте счастья.) Если все не получится, я боюсь, что вы могли бы создать его самостоятельно; т.е. создайте приложение для Windows 95, которое выключит компьютер.