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