2012-04-11 11 views
2

ステータスバーのNum Lockインジケータ...は、NUMロックインジケータがExcelでアクティブになって検出する方法

を有効にするか、ステータスバーにNUMロックインジケータを有効

+1

を「それは出来ない」されて、私は知っている...それが解決した場合私の質問..私は間違いなく受け入れるだろう.. – John

+1

+1良い質問:)私はかなりいつかのために困惑していた:) –

+1

これはなぜ閉鎖されたか分からない;これは確かに、プログラム的に可能かどうかを正解が示すという意味でのプログラミングに関係します。 –

答えて

2

として、私の知る(と私は間違っている可能性)とジョンが、Application.Statusbarはあなたにそれで道をやり取りするためのオプションを与えるものではありませんあなたがしたいこと。

私はあなたが望むものを達成することができるAPIも認識していません。だから、他の誰かが来て、(1がある場合)メソッドをポスト時まで、あなたの質問への答えが

HTH

+0

私も試しましたが、解決策は見つかりませんでした。 返信した方々のおかげで... – John

+1

@John:...は「この回答を受け入れる」と同じです。 –

1
あなたがC#などのご質問をタグ付けしている

、 C#アプリケーションを開発していると思います。その中に
あなたはNumLockキーがオンであるかどうかを検出するために

if (Control.IsKeyLocked(Keys.NumLock)) 

を使用することができます。あなたは

[DllImport("user32.dll")] 
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo); 
private void PressKb(Keys keyCode) 
{ 
    const int KEYEVENTF_EXTENDEDKEY = 0x1; 
    const int KEYEVENTF_KEYUP = 0x2; 

    keybd_event((byte)keyCode, 0x45, KEYEVENTF_EXTENDEDKEY, 0); 
    keybd_event((byte)keyCode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); 
} 

を使用することができますし、NUMロックがアクティブであれば、それはとにかくアクティブなときに確実インジケータだけを示して、それ

PressKb(Keys.NumLock); 
+0

あなたの返事のためのThaks ... 優れたステータスバーのnumlockインジケータを有効にしたい – John

+0

@ジョン:私の編集された答えを見てください。あなたは歓迎です:) – Marco

+1

@ジョン:システムのNUMLOCKがオンの場合、ステータスバーのnumlockインジケータがオンになっています。そのキーを押すようにシミュレートすると、インジケータもオンになります! – Marco

0

であなただけ、見ることができるのNumロックを設定するには

。 VBAでこれを行う必要がある場合(解決策はhereから取られます)。

'put these declarations at the top of the module 
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) 
As Integer 
Private Const kNumlock = 144 

そして、あなたがそれを必要とする:

Public Function NumLock() As Boolean 
NumLock = KeyState(kNumlock) 
End Function 

Private Function KeyState(lKey As Long) As Boolean 
KeyState = CBool(GetKeyState(lKey)) 
End Function 
関連する問題