NumLock キーがオンとオフのどちらになっているかを確認する方法はありますか
先日こうした記事を投稿いたしましたが、Windows10にはさらに面白い機能があることがわかりました。
まずスクリプトを入れるフォルダーを決めます。まあこれは決めなくてもいいのですが。スクリプトが散らかってもしょうがありません。
たとえばサクラエディタのスクリプトフォルダを開いてもいいです。
C:\Users\Name\AppData\Roaming\sakura
Nameはもちろん皆様の名前に書き換えてください。
そしてスタート+Rキーを押して出てきた空欄にペーストしてエンターを押します。
適当なvbsファイルをタスクバーまで引っ張ります。
これで次からこのアイコンを右クリックすると、vbscriptがリスト化されて選択できます。
特にNUMLOCK系をピン止めしましょう。
これで気になる時はタスクバーのアイコンを右クリックでNumlockをオンにします。
ついでだからこの前のやつをNumLockON+CapsLockOffにしましょう
Set objWord = CreateObject("Word.Application")
Set objShell = Wscript.CreateObject("WScript.Shell")
'msgbox "CapsLock key is on: " & objWord.NumLock
if objWord.Numlock = False then objShell.SendKeys "{NUMLOCK}"
if objWord.CapsLock = True then objShell.SendKeys "{CAPSLOCK}"
objWord.Quit
set objShell = Nothing
set objword = Nothing
ついでにVBAも。これはOutlookなどでVBAに登録し、クィックアクセスツールバーにマクロとして登録すると使えます。こちらはそれなりに音が鳴ります。
Sub DefaultKeyMode()
Dim objWord : Set objWord = CreateObject("Word.Application")
Dim objShell : Set objShell = CreateObject("WScript.Shell")
'msgbox "CapsLock key is on: " & objWord.NumLock
if objWord.Numlock = False then objShell.SendKeys "{NUMLOCK}"
if objWord.CapsLock = True then objShell.SendKeys "{CAPSLOCK}"
objWord.Quit
Beep
set objShell = Nothing
set objword = Nothing
End Sub
余談:Windows10ではVbscriptで音を鳴らす方法は効かない
http://pnpk.net/cms/?p=2315
beep = chr(007)
WshShell.Run "cmd /c @echo " & beep, 0
にしてもなりませんでした
またWindows10のサウンドフォルダはころころ変わる模様
C:\Windows\WinSxS\amd64_microsoft-windows-shell-sounds_31bf3856ad364e35_10.0.10240.16384_none_1f12ede15036e1cb
下記リンクに挙げられているディレクトリが上記のやつで、とてもこの方法は使えそうにない。
Windows 10 のアラーム&クロックのサウンドの保存場所のパスを教えてください。