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