プロが教えるわが家の防犯対策術!

vbscriptでNUMLOCK判定したい

お世話になります。
こちら(http://support.microsoft.com/kb/314879/ja)を参考にNUMLOCKキーを操作することは出来たのですが、現在のNUMLOCKの状態を知るにはどうしたらよいのでしょうか?

よろしくお願いいたします。

以下vbs記述内容
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"

A 回答 (1件)

なぜそんなことをする必要があるのでしょうか?


その理由を解決できませんかね。
キーボードにチラッと視線を落としてランプを見るだけで済むんですけどね。
または質問文にあるコードをログオン スクリプトで実行するとか、レジストリの設定を変更するって手もある。(Num Lock の設定はユーザー毎の設定)

で状態確認ですが、実際のところ VBScript では無理です。
Word の VBA では状態確認ができるようです。
なので Scripting GUI では VBScript から Word を一瞬だけ起動させて確認する方法を紹介しています。
http://www.microsoft.com/japan/technet/scriptcen …

この回答への補足

回答ありがとうございます!

>なぜそんなことをする必要があるのでしょうか?
自分のパソコンではなく、
パソコンに慣れていない大勢の方が触るものがあるので、
起動時にNumlockが入っていた方が親切かなと思いまして。

>または質問文にあるコードをログオン スクリプトで実行するとか
そのパソコンはログoff時の設定を引き継ぐ
(numoffしてログオフするとnumoffして起動逆も然り)ので、
無条件にnumlockキーをsendしてもうまくいかず、、、

>レジストリの設定を変更する
こちらも試してみたのですが、言うことを聞いてくれず。。。
スタートアップにvbscriptでどうだ?!と思った次第です☆
(ちなみに試した色々はhttp://oshiete.goo.ne.jp/qa/6134978.htmlに掲載しています。
 質問内容がvbscriptに移行したので、別に質問させていただきました。)

補足日時:2010/08/28 09:58
    • good
    • 0
この回答へのお礼

そしておかげさまで思ったとおりの動きが出来ました!
本当にありがとうございます!

--以下記述内容--
DIM NumOnBL
Set objWord = CreateObject("Word.Application")
NumOnBL= objWord.NumLock
objWord.Quit
set WshShell = CreateObject("WScript.Shell")
IF NumOnBL=FALSE THEN WshShell.SendKeys "{NUMLOCK}"

お礼日時:2010/08/28 09:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!