Comando para chamar o menu 'Desativar o computador'


9

Eu lembro que há (ou foi) um comando envolvendo rundll32 que chama o menu 'Desligar o computador' do Windows XP - o que também pode ser chamado indo para Menu Iniciar & gt; Desligar o computador .

enter image description here

Alguém por acaso sabe / lembra qual é o comando?

P.S .: Não estou falando sobre o comando 'shutdown'.

Edição final: Bem, o comando mais próximo para obter este resultado com rundll32 é o seguinte:

rundll32 msgina.dll,ShellShutdownDialog

Mas note que você terá o menu / diálogo 'clássico' em vez da versão moderna 'temática'. Você pode obter o último usando um one-liner VBScript postado por techie007 abaixo.


Tem certeza de que não estava no Windows 95/98 / ME? Eu acho que foi substituído e a funcionalidade removida. robvanderwoude.com/rundll.php Eu tentei o para o desligamento, e isso errou.
— KCotreau

@KCotreau: Não, não tenho certeza, na verdade. Eu só tenho palavras-chave borradas na minha memória.
— Larssend

Parecia muito difícil encontrar sua resposta, mas não consegui. Não tenho certeza se você pode mais.
— KCotreau

@KCotreau: Desculpe por ter você trabalhado, então. Eu acho que estou desistindo disso também. Obrigado por tentar ajudar.
— Larssend

Sem problemas. Eu estava apenas deixando você saber dizendo "MUITO", que eu não dei uma olhada superficial, então você provavelmente não acharia isso, e talvez você não queira se matar olhando. No que diz respeito a trabalhar, tenho gostado de responder a perguntas, e são perguntas como as suas que me fizeram aprender mais.
— KCotreau

Respostas:


5

Como outros têm apontado corretamente, esses comandos não funcionam e / ou não devem ser usados.

Aqui está uma opção, você pode usar o script para chamar esse diálogo / menu de desligamento (ele simplesmente aparece no menu de desligamento; ele não seleciona nenhuma ação). Aqui estão algumas noções básicas para você começar:

VBS:

CreateObject("Shell.Application").ShutdownWindows

Salvar como Something.vbs e executá-lo com cscript Something.vbs.

PowerShell:

(New-Object -ComObject Shell.Application).ShutdownWindows();

Você pode obter o PowerShell 2.0 para XP (etc.) do MS aqui (KB968930) .

Eles devem funcionar em todas as versões do XP e superiores (o VBS também pode funcionar no Windows 2000). Eu testei no Windows 7 (Ultimate) e eles funcionaram.


Bom encontrar. O one-liner do VBScript faz o que eu quero. Muitíssimo obrigado.
— Larssend

5

Antes do XP, havia um comando, rundll32.exe shell32.dll,SHExitWindowsEx 1. Ele ainda funciona no XP. Não funciona no meu XP VM embora. . .

A partir do XP, a Microsoft inclui o comando shutdown, que não exatamente o que você quer e mais. Trabalha com computadores remotos, etc etc.

Editar:

Existe o mais popular comando Lock Computer que muitas pessoas não conhecem.

rundll32.exe user32.dll, LockWorkStation

editar:

http://blogs.msdn.com/b/oldnewthing/archive/2004/01/15/58973.aspx

Aparentemente, o acima é um não não. Então parece que estamos presos com o PsShutdown.


O ponto do meu comentário acima foi que esse mesmo comando não funciona.
— KCotreau

Não vi o seu comentário quando postei. Abortar, repetir, falhar.
— surfasb

Não se preocupe. :)
— KCotreau


4

Novamente, como em meus comentários, acredito que tenha sido substituído principalmente pelo comando shutdown, que você conhece claramente.

Se você quiser alternativas, tente estas:

shutdown -i (para torná-lo interativo, embora não seja a tela que você queria)

WMIC OS Where Primary=TRUE Call Shutdown (Eu testei isso, funciona 100%)

WMIC OS Where Primary=TRUE Call Reboot

Não tenho certeza se o WMIC está no XP Home.


0

Bem, se você tiver foco na área de trabalho e acertar ALT + F4 que deve invocar o menu 'Desligar o computador'.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.