ドラマや映画のワンシーンのようにパソコンを使って複雑な操作を行いたいと思ったことはありませんか?VBS(VBScript)を使うと、Windows上でポップアップやウィンドウを簡単に操作することができ、ちょっとしたエフェクトやメッセージを表示させるだけで、まるでハッカー映画の一場面を表現することが可能です。
本記事では、実際の処理はそれほど複雑ではないものの、かっこいい動きをするVBSスクリプトをいくつか紹介します。初心者でも簡単に試せるので、ぜひ自分のPCで実行して気持ちよくなってください。
自動的にメッセージを送り続けるシステムのようなVBS
まず紹介するのは、まるでシステムが何か重要なタスクを実行し続けているように見せるスクリプトです。このスクリプトは、一定の間隔でポップアップメッセージを表示することで、あたかもシステムが何か進行しているかのように見せます。
Dim i
For i = 1 To 5
MsgBox "システムチェック中... 完了までお待ちください (" & i & "/5)"
Wscript.Sleep 1000 ' 1秒待機
Next
MsgBox "システムチェック完了。異常は検出されませんでした。"
解説:
このスクリプトは、5回のポップアップメッセージを表示し、それぞれ「システムチェック中…」という進行状況を示します。最後には「システムチェック完了!」というメッセージを表示し、あたかも何か複雑なシステムタスクを実行していたかのように見えます。
実際には、ただメッセージを表示して待機しているだけですが、これを見ている人は「システムが何か大事なことをしている」と思い込むかもしれません。
ウィンドウを自動で開閉するエフェクト
次に紹介するのは、Windowsのメモ帳を自動で開いたり閉じたりするスクリプトです。これにより、まるでコンピュータが自動的にアプリケーションを操作しているかのように見えます。
Set WshShell = WScript.CreateObject("WScript.Shell")
For i = 1 To 3
WshShell.Run "notepad.exe"
Wscript.Sleep 2000 ' 2秒待機
WshShell.AppActivate "無題 - メモ帳"
WshShell.SendKeys "%{F4}" ' ALT+F4で閉じる
Wscript.Sleep 1000 ' 1秒待機
Next
解説:
このスクリプトは、メモ帳を3回開いては閉じる動作を繰り返します。WshShell.Run
でメモ帳を起動し、AppActivate
でアクティブにしてから、SendKeys
を使ってALT + F4
を送信し、ウィンドウを閉じています。
見る人は、これが自動化された操作の一環だと思うかもしれません。繰り返し開閉されるアプリケーションの動作は、まるでコンピュータが何かをチェックしているかのように見えますが、実際にはただウィンドウを開いて閉じているだけです。
マウスカーソルを動かす無駄にカッコいいVBS
次に紹介するのは、画面上のマウスカーソルを自動的に動かすスクリプトです。これにより、あたかもPCが自動的に操作されているように見えます。
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objMouse = CreateObject("WScript.Shell")
For i = 1 To 100
x = Int((Rnd * 800) + 100)
y = Int((Rnd * 600) + 100)
objMouse.SendKeys "{F2}" ' 任意のキーを送る(ダイアログを閉じるなどに使える)
WScript.Sleep 100
WshShell.Run "cmd /c mousemove.vbs " & x & " " & y
Next
解説:
このスクリプトでは、マウスカーソルが画面上を動き回ります。WshShell.Run
で任意の位置にマウスカーソルを移動させることができます(実際にマウスを動かすには別途ツールやスクリプトが必要です)。この動作は、あたかも自動化されたタスクが行われているように見え、見た目にはかなりインパクトがあります。
実際には、マウスカーソルがランダムな位置に動くだけですが、これを見た人は何か特別な自動操作が行われていると思い込むかもしれません。
カウントダウンタイマーで緊張感を演出
次は、画面上にカウントダウンタイマーを表示して、まるで何か重大なことが起こりそうな緊張感を演出するスクリプトです。
Dim i
For i = 10 To 1 Step -1
MsgBox "システムシャットダウンまであと " & i & " 秒"
Wscript.Sleep 1000 ' 1秒待機
Next
MsgBox "システムシャットダウン開始!"
解説:
このスクリプトは、カウントダウンを行って最後に「システムシャットダウン開始!」というメッセージを表示します。実際にはシャットダウンは行われませんが、見た目には非常に緊張感があります。あたかも重大な操作が行われているかのように見せることで、他の人の注意を引きます。
この手のスクリプトは、パーティーやイベントで冗談として使うのにもぴったりです。ただし、本物のシャットダウン操作と誤解されないように注意しましょう。
コンソールに無限に文字列を出力するハッカー風スクリプト
最後に紹介するのは、コンソールに無限に文字列を出力して、まるでハッカー映画に出てくるようなシーンを演出するスクリプトです。
Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd /c echo コンピュータにアクセスしています..."
Do While True
objShell.Run "cmd /c echo パケット送信中..."
Wscript.Sleep 500 ' 0.5秒ごとに表示
Loop
解説:
このスクリプトは、コマンドプロンプト(コンソール)に永遠に文字列を出力し続けます。「コンピュータにアクセスしています…」や「パケット送信中…」といったフレーズを表示することで、まるでサーバーにアクセスしてデータのやり取りをしているように見えます。
もちろん、実際には何もしておらず、ただテキストを表示しているだけです。しかし、映画のようなハッキングシーンを演出するにはうってつけのスクリプトです。
まとめ
今回は、「かっこいいことをしているように見える」VBSスクリプトをいくつか紹介しました。これらのスクリプトは、実際には簡単な動作を行っているだけですが、画面上では非常にかっこよく見えるものばかりです。初心者でも簡単に試せるので、ぜひ自分のPCで動かしてみてください。
もちろん、これらのスクリプトはあくまで「見た目がかっこいい」だけで、実際に役立つシステム操作をしているわけではありません。しかし、プログラミングの楽しさは、時にはこういった「無駄にかっこいい」動作を楽しむことにあるのかもしれません。
プログラミングは、どれだけシンプルなものであっても、少し工夫を加えることで見た目を変え、印象を大きく変えることができます。自分のスキルが向上すれば、さらに洗練された「かっこいいスクリプト」を作成できるようになるでしょう。
コメント