Если вы установите свою программу в качестве оболочки вместо проводника, то она будет автоматически запускаться, и окна будут закрываться при выходе из программы.
Из поста, который я сделал в 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
Убедитесь, что Close On 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. Это не может быть сделано из командной строки. Смотрите совет выше для обхода.