我現在這個筆記本電腦沒有NumLock指示燈,有時候用小鍵盤經常打不出數字來,非??鄲?。
尤其Caps和Scroll鍵狀態對我來說不需要,我不想為此多花費一丁點CPU資源:)
因此自己做了一個功能專一的小工具~
軟件運行后就會在右下角顯示一個圖標,對號是開,叉號是關,沒有界面,只有圖標,不能多開。
NumLock狀態變化時可以實時顯示,鼠標點擊圖標就可以退出程序。
開發介紹:
Winform做的,.net framework 版本是2.0,上面的是Release版本,內存占用大約10M,CPU占用可以忽略……
該軟件需要在 .Net 環鏡下才能運行,請安裝 .NET Framework V2.0 可再發行組件包: http://www.pirinnaturalssoapandspa.com/soft/2572.html
Numlock介紹:
Num,是Number(數字)的縮寫。 lock是鎖的意思。Numlock,就是指鎖住數字。(鎖定/解鎖小鍵盤)如果在鍵盤上取消Numlock鍵,那么無法使用小鍵盤上面的數字。numlock按鍵燈亮時,可以使用小鍵盤上的數字,如果熄滅時則不能使用。
核心邏輯:
需要在NumLock鍵按下的時候實時捕捉到變化,因此下了全局鉤子;
但是卻不可以通過按鍵來判斷狀態的變化(鍵盤鍵位的按下和彈起對NumLock狀態的變化影響情況比較復雜),
還是要讀鍵盤碼狀態比較穩定,因此還需要有一個循環去讀。
但是循環一直進行,在性能方面不是好的思路,因為很多時候大家都不會去按NumLock。
循環空轉是不好的,因此我是在鉤子捕捉到NumLock按下的時候馬上啟動一個持續4秒的循環,每秒讀50次狀態(絕對夠精準了……)。