当ブログでは、一部のコンテンツにアフィリエイトリンクを使用しています。
Windows10 で、タスクスケジューラを使って、PCを自動起動してWebからデータ収集をしています。
データ収集が終わったら、自動的に休止状態に戻しているのですが、そのあとのタスクスケジューラのタスクでPCが自動で起動せず、時間通りにデータ収集ができませんでした。
状態
手作業で休止状態にした後の、タスクスケジューラのタスクではPCは問題なく起動します。
でも、自動で休止状態にした後のタスクでは、必ずコケて、PCが自動起動してくれません。
休止状態にするコマンドは、ググると必ず出てくる、
rundll32.exe powrprof.dll,SetSuspendState
を使っていました。
データ収集作業が終わると、このコマンドを実行して、休止状態にはなっていました。
原因
このコマンドで休止状態になった場合は、タスクスケジューラでは、休止状態を解除してPCを自動起動することができないそうです。
rundll32.exe powrprof.dll,SetSuspendState
気づけば簡単なのですが、他に原因があると思って、だいぶ時間を無駄にしてしまいました。
対策
対策は、フリーソフトを使う方法が簡単そうなのですが、うまくいきませんでした。
手作業で休止状態にしたのと同じであれば良いということで、UWSCを使って、休止状態にすることにしました。
UWSCのスクリプト
このUWSC、Windowsの操作を自動化するツールで、とても便利です。
PCで自動化をする際にはよく使ってしまいますが、残念ながら、ここのところ更新されなくなってしまいました。
まだ、Vectorからはダウンロードできるようです。https://www.vector.co.jp/soft/winnt/util/se115105.html
今回、使ったUSSCのスクリプトは、以下のようなものです。
//休止モード
KBD(VK_WIN,DOWN,40)
KBD(VK_X,CLICK,40)
KBD(VK_WIN,UP,40)
KBD(VK_U,CLICK,40)
KBD(VK_H,CLICK,40)
やってることは、簡単で、ショートカットキーで休止状態にする手順をそのままスクリプトで記載してありす。
手作業だと
[Win]+[X]を押して、メニューを開き、
[U]キーを押して
[H]キーを押すと
これらのキー操作で休止状態になります。
ちなみに、最後の[H]キーを[S]キーにするとスリープ状態になります。
結果
問題解決です。
休止状態への移行はOK。そのあとのタスクスケジューラのタスクも、休止状態を解除して起動することもできるようになりました。
さいごに
今回は、ネット情報を安易に信じてしまったため、見事にはまってしまいました。
もうちょっと早く原因に気づければよかったのですが、解決したので良しとしたいです。