web-dev-qa-db-ja.com

コマンドを使用してPCをウェイクアップするにはどうすればよいですか? (つまり、マウスを動かすのと同じです)

これはそれほど難しいことではないようですが、マウスを動かしたり、キーボードのキーを押したりするのと同じことをして、PCをウェイクアップするにはどうすればよいですか?

私のPCはWindows10を実行しており、15分後にモニターをスリープモードにするだけです。 PCの残りの部分はまだ起動しており、Hibernateなどを使用していません。

EventGhostを使用して、PCにディスプレイをウェイクアップするように指示するTCP/IPコマンドを受信しようとしていますが、それは非常に困難です。

3
SofaKng

コマンドを使用してPCをウェイクアップするにはどうすればよいですか? (つまり、マウスを動かすのと同じです)

私のPCはWindows10を実行しており、15分後にモニターをスリープモードにするだけです。 PCの残りの部分はまだ起動しており、Hibernateなどを使用していません

2部構成のソリューションの提案


ソリューションパート1

バッチスクリプトを作成します(以下のソリューションパート2の例)キーボードのキーストロークをエミュレートします。 Windowsタスクスケジューラでスケジュールし、コンピュータを起動して実行するように指示します。タスク指定された時間に「コンピューターをスリープ解除」する必要がある場合に備えて、スリープ状態のモニターだけではありません(詳細については、以下のソースを参照してください)。指示)。

(繰り返しになりますが、キーボードストロークをエミュレートするWindowsネイティブのロジックとともに、スケジューリングに使用するバッチスクリプトの例( SendKeys )スリープ状態のモニターをウェイクアップします。)

ソース:PCを自動的にスリープから復帰させる方法-詳細

enter image description here


ソリューションパート2

ただし、以下のバッチスクリプトロジックを使用して、動的に構築および実行されたVBSスクリプトでキーボードのキーストロークをバッチでネイティブにエミュレートします。これは、例として論理的に実行するバッチスクリプトになります。

スペースバーを押すようにスペースを複数回送信するバッチスクリプトの例

(必要な他のキーは SendKeys でも使用できます)

@ECHO OFF
SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs

:VBSDynamicBuild
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"
ECHO Wscript.Sleep 500                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys " "                                >>"%TempVBSFile%"

CSCRIPT //nologo "%TempVBSFile%"
GOTO EOF
3
Pimp Juice IT