Windows 8 がコンピューターをスリープ モードにするために実際に使用するコマンドは何ですか?

Windows 8 がコンピューターをスリープ モードにするために実際に使用するコマンドは何ですか?

shutdown.exeシャットダウンと再起動を実行するにはショートカットがうまく機能します:

C:\Windows\System32\shutdown.exe /s /t 00

C:\Windows\System32\shutdown.exe /r /t 00

休止状態にしたくありませんが、デスクトップからダブルクリックするだけで Windows XP のようにスタンバイ状態にしたいです。

Win 8 では、スリープをクリックするのに必要以上の労力がかかります。


そこで、スタンバイを実行するには次のrundll32コマンドを使用する必要があり、休止状態をオフにする必要があることを読みました。そこで、次のコマンドをショートカット付きの .bat ファイルにしました。それでも、キーボードのキーをタップしたり、マウスを動かしたりするのではなく、電源ボタンを押してコンピューターをオンにする必要があります。

C:\Windows\System32\powercfg -hibernate off

C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0

PsShutdownシャットダウン、再起動、スタンバイの3つすべてにうまく機能します。
現在使用しているのはPsシャットダウンv2.52:

"C:\Program Files\Standby\psshutdown.exe" -k -t 0

"C:\Program Files\Standby\psshutdown.exe" -r -t 0

"C:\Program Files\Standby\psshutdown.exe" -d -t 0

Windows 8 がコンピューターをスリープ モードにするために使用する実際のコマンドが何であるかを知りたいだけです。

それは行コマンドですか? どこで見つけられますか? それが何であるかをどうやって把握しますか?

別のプログラムを使用するよりも簡単なので、ライン コマンドを使用すると思います。

Windows 8 は何とか仕事をこなしています。おそらく、いくつかのコマンド行を使用するよりも、実際にはもっと複雑な作業なのでしょう。

答え1

私はClassic Shellを使うことにしました。現在のバージョンは3.6.2で、とてもうまく動作します。

答え2

私も試しました:

C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0

しかし、スリープ/スタンバイではなくシャットダウンします

しかし、Psシャットダウン特定のスイッチを使用して、上記の .exe を実行します。

"C:\Program Files\Standby\psshutdown.exe" -d -t 0

スタンバイやスリープのように正常に動作します。

ありがとう

答え3

Linux のように動作することを期待しているようですね。

コマンド ラインはほとんどの Linux プログラムで広く利用されており、実際、多くの場合、多くのプログラムやダイアログ ボックスは実際に実行されるコマンドを構築しています。つまり、実際には「コマンド ライン」引数を指定して実行可能ファイルをロードしているのです。

Windows は同じ伝統に根ざしておらず、通常、Windows が機能を「公開」する場合、それは DLL または COM インターフェイス、または最近では .NET オブジェクトを介して行われます。そのため、Windows はコマンドを呼び出すのではなく、DLL 関数 (場合によっては名前ではなく序数で)、COM または .NET オブジェクト メソッドを呼び出す可能性がはるかに高くなります。

rundll32これらの機能は、(通常は十分に文書化されていないが) COM API (大量のドキュメントを読み、オブジェクト指向プログラミングを理解する準備をしておいた方がよい) を介して、非プログラマー ユーザーに公開され、Windows Script Host (および/wscript.exeまたは を介し​​てエンド ユーザーがさらにアクセス可能なコンポーネントの別のレイヤーcscript.exe) および .NET (この場合は Powershell と Visual Studio を使用) を介してアクセス可能。 のコントロール パネル アプレットなどの多くは、explorer.exeシステム コール、DLL コール、または COM コールを直接行っている可能性があります。

面倒に聞こえますが、実際そうです。良いニュースは、Powershell の導入により、cmdlet実質的に何でもできる「 s 」が in 内で利用できるようになり、最終的に Windows に一貫性のある充実したコマンドライン環境が提供されるようになったことです。Windows をスリープ状態にする Powershell コマンドは知りませんが、あることは確かです。

私はこれのどれか、またはほとんどについてひどく間違っているか不完全である可能性があります (IANA Windows プログラマー)。他の人がコメントすると思いますので、それらのコメントを読む必要があります。

関連情報