• ベストアンサー

vbscriptでNUMLOCK判定したい

vbscriptでNUMLOCK判定したい お世話になります。 こちら(http://support.microsoft.com/kb/314879/ja)を参考にNUMLOCKキーを操作することは出来たのですが、現在のNUMLOCKの状態を知るにはどうしたらよいのでしょうか? よろしくお願いいたします。 以下vbs記述内容 set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "{NUMLOCK}"

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

なぜそんなことをする必要があるのでしょうか? その理由を解決できませんかね。 キーボードにチラッと視線を落としてランプを見るだけで済むんですけどね。 または質問文にあるコードをログオン スクリプトで実行するとか、レジストリの設定を変更するって手もある。(Num Lock の設定はユーザー毎の設定) で状態確認ですが、実際のところ VBScript では無理です。 Word の VBA では状態確認ができるようです。 なので Scripting GUI では VBScript から Word を一瞬だけ起動させて確認する方法を紹介しています。 http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug06/hey0810.mspx

kogeru_006
質問者

お礼

そしておかげさまで思ったとおりの動きが出来ました! 本当にありがとうございます! --以下記述内容-- DIM NumOnBL Set objWord = CreateObject("Word.Application") NumOnBL= objWord.NumLock objWord.Quit set WshShell = CreateObject("WScript.Shell") IF NumOnBL=FALSE THEN WshShell.SendKeys "{NUMLOCK}"

kogeru_006
質問者

補足

回答ありがとうございます! >なぜそんなことをする必要があるのでしょうか? 自分のパソコンではなく、 パソコンに慣れていない大勢の方が触るものがあるので、 起動時にNumlockが入っていた方が親切かなと思いまして。 >または質問文にあるコードをログオン スクリプトで実行するとか そのパソコンはログoff時の設定を引き継ぐ (numoffしてログオフするとnumoffして起動逆も然り)ので、 無条件にnumlockキーをsendしてもうまくいかず、、、 >レジストリの設定を変更する こちらも試してみたのですが、言うことを聞いてくれず。。。 スタートアップにvbscriptでどうだ?!と思った次第です☆ (ちなみに試した色々はhttp://oshiete.goo.ne.jp/qa/6134978.htmlに掲載しています。  質問内容がvbscriptに移行したので、別に質問させていただきました。)

関連するQ&A