適材適所

PowerShellやVBAなどのプログラミングに関すること、キャリア、子育ての3本で書いていきます

メモ帳の日付入力ととブラウザ更新のショートカットキーが同じF5キーだったためにハマった事件

Windowsのメモ帳、便利ですよね。

ショートカットキーも充実していて、F5を押すと日付が自動入力されます。

便利~~~。

でもそんな便利な日付入力のショートカットキー。

F5なんですよね。

F5ってブラウザの更新ショートカットキーと同じじゃないですか。

今回はそんなブラウザの更新と被っていたことによるちょっとした事件に巻き込まれた

(いつものごとく勝手にはまった)話です。

メモ帳のF5ショートカットキー

メモ帳のF5キーはとっても便利なショートカットキー。

f:id:shinmai_papa:20210208182527p:plain

時間と日付が入力されるので、簡単な議事録やメモに日付を残したいときなどに重宝します。

ブラウザの更新を行い続けるスクリプト

主要なブラウザではF5キーは更新ボタンです。

わけあって、ブラウザの更新を自動化しようということで、

永遠にF5を連打するというくそスクリプト、通常、「くそリプト」を作りました。

'f5.vbs
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
do while true
 '10秒待つ
 WScript.Sleep(10000)
 objWShell.SendKeys "{F5}"
loop

ブラウザ画面を立ち上げたPCでこのスクリプトを起動すると、10秒ごとに

ひたすらブラウザを更新し続けるというものです。

永遠に日付を入力し続けるという事件

先ほどのスクリプトが起動している端末で、メモ帳を開く機会がありました。

ちなみに、この端末へはリモートで接続していました。

メモ帳を開いてみると、ファイルを見ようとしたところ、勝手に日付が入ってしまいました。

当たり前ですが、スクリプトによって永遠に日付が入力されているわけです。

最初私はそれと気づかずに、

「リモートで接続していることによる画面の乱れかな?」

「ゴミかな?」

いえ。

乱れているのは私の頭の中で、

ゴミは私です。

気づくのに約5分。

その間、ずっとメモ帳には日付が入力され続けるというダメっぷり。

そして、気づいたときには日付だらけ。

さて、どうやって停止すればいいのか。

wscript.exeを停止すればいいということで、

PowerShellで下記のコマンドを実行し、事なきを得ました。

Get-Process |?{$_.ProcessName -eq "wscript"}|Stop-Process

なんというしょうもない事件。

終わりに

いやはや、こんなしょーもないことにハマるとは。

とにかく無限ループのプログラムを作るときは、みなさんくれぐれもご注意ください。

ここまでお読みいただき、ありがとうございました。