全局熱鍵類的多熱鍵是一個(gè)全局熱鍵類的多熱鍵示例工程,這個(gè)類很早就發(fā)布了,當(dāng)時(shí)寫了個(gè)很簡(jiǎn)單的單熱鍵示例.有朋友說最好弄個(gè)多熱鍵的示例,于是就整了這個(gè)東東出來.快捷鍵就是當(dāng)這個(gè)軟件窗口處于活動(dòng)的狀態(tài)下可用,不活動(dòng)的狀態(tài)下不可用。全局熱鍵就是那個(gè)窗口不活動(dòng)的時(shí)候也可用。全局熱鍵的一般有三個(gè)鍵。
使用思路:
一,設(shè)置一個(gè)本進(jìn)程句柄(frmHwnd屬性)
二,增加熱鍵(AddHotKey方法)
這個(gè)方法返回的是一個(gè)標(biāo)志本組熱鍵組合的索引,在熱
鍵事件到來時(shí)可以簡(jiǎn)化判斷.
三,啟動(dòng)捕捉熱鍵循環(huán)(StartHotKeys方法)
沒有使用子類化,所以用一個(gè)死循環(huán)來做一個(gè)消息泵,不
斷地從消息隊(duì)列里檢查是否有熱鍵消息到來.由于是死
循環(huán),所以需要傳入一個(gè)定時(shí)器用于立即返回此方法,使
調(diào)用流程能夠繼續(xù)下去.
四,刪除熱鍵(DelHotKey方法)
這個(gè)方法的作用是刪除單個(gè)熱鍵.相應(yīng)的熱鍵組合可以使
用GetHotKeySetting結(jié)合HotKeysCount屬性來取得.
五,查詢熱鍵組合的數(shù)量(HotKeysCount屬性)
定義了幾組就是幾,之前沒有考慮到這個(gè).
六,查詢熱鍵組合的值(GetHotKeySetting方法)
這個(gè)方法可以返回指定的組合內(nèi)具體的各鍵狀態(tài).
七,熱鍵按下后的事件(HotKeyPress事件)
當(dāng)完成了第1,2,3步后,就可以開始捕捉熱鍵了,這時(shí)只要
按下熱鍵,將會(huì)觸發(fā)HotKeyPress事件,事件的參數(shù)里既有
熱鍵組合的索引,也有該組組合內(nèi)各鍵具體的值,以方便
不同情況下的判斷.
其實(shí)我覺得具體的鍵值好象是多余的......反正可以根
據(jù)GetHotKeySetting方法取得呀...大家自己取舍吧,反
正放它們?cè)谀抢飸?yīng)該也不礙什么事,能省一步省一步吧-_-b
八,其它的就自己看吧.....其實(shí)這個(gè)東西又沒多復(fù)雜....