全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1785
推到 Plurk!
推到 Facebook!

怎麼去搶回Hokey?

尚未結案
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-24 10:40:15 IP:211.23.xxx.xxx 未訂閱
Dr.eye掛上去後, 我寫的AP的Ctrl+F1就失效了, 因為被Dr.eye搶走了 有沒有方法可以在 ><" 又不能像以前 >
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-24 16:04:01 IP:203.73.xxx.xxx 未訂閱
引言: Dr.eye掛上去後, 我寫的AP的Ctrl F1就失效了, 因為被Dr.eye搶走了 有沒有方法可以在 ><" 又不能像以前 > < face="Verdana, Arial, Helvetica"> lcsboy 你好: 試試看用 Win32 API RegisterHotKey, UnregisterHotKey 能不能做呢??< > 備註: 我還沒有實際試過,所以也不確定可不可行,你先試試吧< > -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-24 16:27:12 IP:203.75.xxx.xxx 未訂閱
這個我試過, 我確定可以. Jesse Chan
------
Jesse Chan
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-24 17:39:54 IP:211.23.xxx.xxx 未訂閱
謝謝兩位大大.    原來我也是有在想, 但是沒信心去作    我會試試看的 
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-25 02:36:56 IP:61.228.xxx.xxx 未訂閱
RegisterHotKey 可以讓你在 OS level 註冊 hotkey, 如果使用者在任何地方按下 hotkey 則你的程式可以收到 WM_HOTKEY 的訊息, WParam 為你為這個 hotkey 所訂的 ID, 這可以讓你一次註冊很多個 hotkey, 使用方法如下, RegisterHotKey(nHandle,nKeyID,0,vkKey); 一般來說 nHandle 為你 Form 的 handle, 如此在這個 Form 的 WndProc 就可以收到 WM_HOTKEY, nKeyID 可以任意給, 但是自己註冊的 ID 不要重複了, 第三個參數是 Modifier, 如果你的 hotkey 要隨著 Shift, Ctrl, Alt 一起的話可以在這裡指定, 最後是所要註冊的 hotkey 的 virtual key code, 可參考 M$DN, 在使用上有一點要注意如果之前其它程式已用 RegisterHotKey 註冊過 則會失敗, 以你這個例子而言, Ctrl-F1 是可以用的, 在程式結束時記得要用 UnregisterHotKey(nHandle,nKeyID); 來釋放系統資源. Jesse Chan
------
Jesse Chan
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-25 10:30:25 IP:61.231.xxx.xxx 未訂閱
不知道 Dr.eye 是如何作的,如果它也是用 RegisterHotKey 去作,那當你要求同一個已被別人註冊過的 HotKey 時,會回傳失敗值。 不知各位是否有類似的經驗呢? 如果已被別人用 RegisterHotKey 註冊走了,還能搶得回來嗎?    沒空更新的網頁... http://big5.to/吃軟也吃硬 C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-25 11:47:28 IP:203.75.xxx.xxx 未訂閱
我有試過, 正如我在前面說的, 應該是搶不回來了. Jesse Chan
------
Jesse Chan
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-22 01:30:35 IP:211.76.xxx.xxx 未訂閱
不好意思, 這個問題拖了很久, 今晚才找到時間小試一下    在我的AP使用RegisterHotKey把我的Ctrl+1設成呼叫WinRAR好了 1. 在我的AP可以正常使用Ctrl+1把WinRAR叫出來 2. 再掛上Dr.eye, 哈~ 按Ctrl+1不會被Dr.eye搶走了 3. 看一下K.TOP的文(這時正使用IE), 按下Ctrl+1, 啊~~~~ WinRAR跑出來了 > 剛好遇到包兄, 他請我我試試能不能搞 >好玩歸好玩, 言歸正傳: 還有沒有別的方法, 只在我的 >< 怎麼辦 :~~~~
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-05-22 01:44:37 IP:211.76.xxx.xxx 未訂閱
夜深了, 要去睡了. 先小解一下    還沒尿完, 不小心想到~~~ RegisterHotkey的效力這麼強沒關係    大不了在我的程式再判斷自己有沒有在Active, 如果沒有就還給人家    這樣應該暫時可以解決我的問題吧.  那~~ 還有其他更好的解法呢? 請不吝賜教 >
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-05-22 17:59:00 IP:61.231.xxx.xxx 未訂閱
如果你只要自己的 AP 有這個 HotKey,不要影響別人...     我的作法是,在 AP 中放一個 PopupMenu。我們在 PopupMenu 中不是可以建 Item,同時指定其快速鍵嗎?在 PopupMenu 內指定的快速鍵,可以在 AP 內用,即使 PopupMenu 沒有被 Popup 出來。    不過,這樣好像與主題不太... 因為這樣的方法 HotKey 還是會被使用 RegisterHotkey 的 AP 搶走。        沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-05-22 18:29:50 IP:211.23.xxx.xxx 未訂閱
我現在所有的Hotkey全部是建在MainMenu下 因為用了太多, 發現有幾個Key被搶走了 所以把其中幾個Key使用RegisterHotkey來加強效力 結果發現居然太強了, 恐有造成系統的危險 除了在自己的程式用RegisterHotkey 判斷自己程式是不是Active 還沒有沒好的解法呢?
lcsboy
版主


發表:87
回覆:622
積分:394
註冊:2002-06-18

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-07 12:06:10 IP:211.76.xxx.xxx 未訂閱
在不斷的try & error和被MSDN誤導後...    老天是有眼的==> 皇天不負re-try人  攔 class="code"> switch (Message.Msg) { case WM_SYSCOMMAND: if (GetKeyState(VK_F?) < 0 && GetKeyState(VK_CONTROL) < 0) { ... do your right thing ... return; } break; } 就可以攔到自己AP裡的HotKey, 而且改變其行為 發表人 -
系統時間:2024-04-19 16:01:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!