Windowsマシンで実行されているスケジュールされたタスクがいくつかあります。これは、スタンドアロンで実行し、オフィスに役立つ情報を表示するように設計されています。
その使用法の一部は、それ自体が有用な情報を表示するスクリーンセーバーを実行することです。
画面に情報を表示する必要があるスケジュールされたタスクがいくつかありますが、スクリーンセーバーが実行されているため、これらのメッセージは、スクリーンセーバーが手動で非アクティブ化されるまで表示されません。
Windowsで現在実行中のスクリーンセーバーをコマンドスクリプトから非アクティブ化するにはどうすればよいですか?
私はエウレカの瞬間があり、アプローチを複雑にしすぎていました。必要なのは次のとおりです。
kill -processname XXXX
ここで、[〜#〜] xxxx [〜#〜]はスクリーンセーバープロセスの名前です
これは、PowerShellを使用してマウスをピクセル移動し、スクリーンセーバーを非アクティブ化することで実行できます。
$Pos = [System.Windows.Forms.Cursor]::Position
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point((($Pos.X) + 1) , $Pos.Y)
AutoIt などのサードパーティプログラムを試すこともできます。これにより、マウスの動きをスクリプト化できます。
正しい構文は次のとおりです。
taskkill /im PhotoScreensaver.scr /f
もちろん、実行中のスクリーンセーバーの正しい名前(私の場合はPhotoScreensaver.scr)を使用します。
私はこれを行う良い方法を見つけました ここ 。これにより、カーソルが0,0の位置に移動し、Windows10システムではコンピューターがスクリーンセーバーから外れます。バッチファイルでうまく機能します。
rundll32 user32.dll,SetCursorPos