質問: batファイルを使ってwindowsをシャットダウン、再起動、またはログオフするにはどうすればよいですか? 私は リモートデスクトップ接続 を使ってワークステーションに入りました。しかし、この環境では、スタートメニューの電源オプションを使用することはできません。シャットダウンまたは再起動するための代替方法が必要です。コマンドラインからコンピュータの電源状態を制御する方法
回答: オリジナルの答え:2008年10月あなたはまたすべてを手に入れました " rundll32.exe shell32.dll " セリエ:(下記のアップデートをご覧ください) rundll32.exe user.exe,**exitwindows** [windowsの高速シャットダウン] rundll32.exe user.exe,**exitwindowsexec** [windowsを再起動してください] rundll32.exe shell32.dll,shexitwindowsex n ここでnは:を表します。 0 - logoff 1 - shutdown 2 - reboot 4 - force 8 - poweroff (組み合わせることができます - > 6 = 2 + 4 force reboot)2015年4月に更新(6年以上後): 1800年の情報 /親切に指摘 コメント内 : この目的でrundll32.exeを使用しないでください。あなたがコマンドラインで渡した関数が非常に特定のメソッドシグネチャを持っていることを期待します - それはexitwindowsのメソッドシグネチャと一致しません。 raymond chen は書きました: 2004年に " あなたが呼び出し規約をミスマッチすると何が悪くなることがありますか? ": rundll32.exeによって呼び出される関数に必要な関数シグネチャは次のとおりです。 void callback exitwindowsex(hwnd hwnd, hinstance hinst, lpstr pszcmdline, int ncmdshow); rundll32やrundll32のようにuser32 lockworkstationによって呼び出されるようには設計されていないランダム関数を呼び出すためにuser32 exitwindowsexを使うことを人々が止めているわけではありません。 (おっとっと) exitwindowsexの実際の関数シグネチャは次のとおりです。 bool winapi exitwindowsex(uint uflags, dword dwreserved); 2011年: " 歩道にゴミを投げます:rundll32プログラムの悲しい歴史 " そしてそれを明瞭にするために: 2013年に " rundll32を使用する場合のガイダンスは何ですか?簡単:それを使用しないでください ": rundll32はwindows 95からの残り物です、そしてそれは現代の工学ガイドラインの多くに違反するので少なくともwindows vista以来それが非難されました。