#はじめに
うちの会社のPCは10分でスリーンセーバが起動してしまう。その度にパスワードを入力して解除するのが面倒なため、スクリーンセーバを抑制するためのVBScriptを作成した。
簡単に書くと
"VBScriptで一定間隔でSHIFTキーを押す"
だけのことです。
#用意するもの
VBScriptはMicrosoft Officeが必要でしたっけ?
VBSが動作する環境が必要になります。
#プログラム
##起動プログラム
'
' "シフトキーを押すvbaを一定間隔で呼び出しするスクリプト
'
Option Explicit
WScript.Echo "Shift Key.vbsを開始します。"
'起動用のオブジェクトを生成
Dim objWsh
Set objWsh = WScript.CreateObject("WScript.Shell")
Dim I
For I = 1 To 20
'vbsを実行
objWsh.Run """d:\Shift_Key.vbs""",,true
WScript.Sleep 1000*60*7.0
Next
WScript.Echo "Shift Key.vbsを終了します。"
#シフトキーを押下するスクリプト
'
' シフトキーを押すだけのスクリプト
'
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.SendKeys "+"
#起動
上記プログラムではShift_Key.vbsをDドライブ直下に置いていることを想定しています。起動.vbsはどこでもOKです。
起動には、起動.vbsをダブルクリックしてください。
起動時と終了時にメッセージを表示していますが、これが無いと動作しているのかすら分からなくなります。
###起動.vbsとShift_key.vbsを分けている理由
一緒にしてしまうと(ループの中にシフト押下処理を入れると)、ジョークソフトとしてウィルス対策ソフトに隔離される可能性があるためです。
#注意
これはSHIFTキーを連打するのと同じなのですが、あのダイアログは表示されません。
<あのダイアログ>
#おわりに
関連
スクリーンセーバの起動を抑制する - Arduino Pro Micro(の互換機)を使用
スクリーンセーバの起動を抑制する - mpgバージョン