Отключение из файла 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, которое выключит компьютер.

Другие вопросы по тегам