Desligamento de um arquivo bat * sem * confirmação de fechamento do processo no Windows 95

1

Cada guia na rede diz para usar o RUNDLL USER.EXE, o ExitWindows, que funciona ... a partir do comando run

No entanto, quando executado a partir de um arquivo bat, esse comando, embora funcione, solicita confirmação para eliminar os processos 'restantes'. Esse processo é a própria linha cmd. Eu não fui capaz de chamá-lo com 'CALL', mas como a chamada cria uma nova linha de comando, espero que o resultado seja o mesmo.

Esta é apenas uma questão do Windows 95, é para uma máquina virtual desligar automaticamente após a execução de uma aplicação. A idéia é basicamente ter um script na pasta de programas de inicialização que inicia o aplicativo, aguarda até sair com o START / WAIT e, em seguida, usa algo para as janelas de desligamento automático.

    
por SCO 06.08.2015 / 00:03

4 respostas

1

Se você definir seu programa como o shell em vez do explorador, ele será executado automaticamente e o Windows será encerrado quando o programa sair.

De um post que eu fiz em 2001

Copie para c: \ windows. Se você editar c:\windows\system.ini e alterar

shell=explorer.exe 

para

shell=progman.exe

então o seu computador iniciará no modo de interface win3.11.

Dos meus 15 anos desde o último site atualizado link

Sair do Windows

As primeiras três seções são do Tweak95 disponíveis na página de downloads. A quarta seção é alterada com o Win98.

Desligar o Windows

Um comando para sair do Windows 95. Isso só pode ser usado para desligar, não reiniciar ou sair para msdos. Para sair para msdos digite ExitToMsDos, que executa o arquivo Pif com o mesmo nome. Coloque o comando em um atalho ou arquivo de lote.

C:\WINDOWS\RUNDLL32.EXE user.exe,ExitWindows

Reinicie o Windows

Para reiniciar a cópia do Windows, saia para Dos.pif (a parte pif fica oculta) e copie e renomeie-a para Reiniciar o Windows. Edite a planilha de programas nas propriedades Altere a linha de comando para:

C:\WINDOWS\command.com /C exit

Certifique-se de que a opção Fechar ao sair está marcada. Na caixa de diálogo Avançado, selecione Usar configuração atual do MSDos para sair e reiniciar o Windows sem reinicializar. Verifique o aviso antes de entrar no modo MSDos se for necessária uma confirmação antes de sair e reiniciar. O modo MSDos deve ser verificado.

Uma maneira alternativa é usar a função ExitWindowsExec. Isso sai para MSDos para executar um programa, mas como nenhum programa recebe o Windows é reiniciado. Tpye em um atalho ou na caixa de diálogo Iniciar - Executar.

C:\WINDOWS\RUNDLL.EXE user.exe,ExitWindowsExec

Caixa de diálogo Desligar

Este arquivo reg definirá a opção padrão na caixa de diálogo Desligar. O Windows 95B e o IE4 lembram-se da última configuração escolhida, portanto, para definir o padrão para essas versões (em vez da última ação), adicione a seguinte linha de comando a C:\Windows\Winstart.bat (criar Winstart.bat , se necessário). Lembre-se de usar o nome curto do filke.

Regedit C:\<Path to Reg File>\ShutDown.Reg

Ou esta linha de comando para um atalho e coloque-o na pasta Iniciar.

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

Por meio do SHExitWindowsEx

Usando o User.exe & User32.dll Sair das funções do Windows não permite qualquer controle sobre qual tipo de desligamento é pré-formado, pois os parâmetros não são passados, eles operam como se 0 fosse passado - que é o desligamento para o ExitWindows e o Logoff para o ExitWindowsEx. Uma função não documentada SHExitWindowsEx em Shell32.dll, que é o que o Explorer parece usar, recebe parâmetros.

rundll32.exe shell32.dll,SHExitWindowsEx [optional number in hex]

Valor da ação no Hex

EWX_LOGOFF 0 
EWX_SHUTDOWN 1 
EWX_REBOOT 2 
EWX_FORCE 4 
EWX_POWEROFF
for machines that turn off their own power 8 

Esses valores podem ser somados, por exemplo, 5 é o desligamento e força os aplicativos a serem fechados e um logoff implícito.

Observe que não há Reiniciar sem reinicializar. Isso requer um parâmetro de 42 (hex) para ser passado para o ExitWindows no User.exe. Isso não pode ser feito a partir da linha de comando. Veja a dica acima para um trabalho.

    
por 09.08.2015 / 19:07
0

Tente chamar o comando acima com start para permitir que você o execute em segundo plano e não deixe um cmd.exe aguardando. Eu não sei a sintaxe 9x do topo da minha cabeça, mas faço um start /? na linha de comando.

    
por 06.08.2015 / 00:28
0

Existem vários métodos de desligamento automático para computadores modernos (consulte este link e isso ), mas o Windows 95 é tão antigo que Eu eles podem não funcionar. (Ainda assim, tente a sua sorte.) Se todos falharam, receio que a única opção seria criar você mesmo; Por exemplo, crie um aplicativo do Windows 95 que desliga o computador.

    
por 06.08.2015 / 00:36
0
%windir%\System32\shutdown.exe -r -f

Adicionar -f força o sistema a ser desligado ou reinicializado. no Windows 95, o caminho seria C: \ Windows \ Command referindo-se a este site

    
por 09.08.2015 / 19:17