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

快速鍵無效?

尚未結案
時代之風
一般會員


發表:4
回覆:4
積分:1
註冊:2005-06-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-24 08:00:58 IP:139.175.xxx.xxx 未訂閱
想請教一下各位前輩, 我想寫一個在一個網路遊戲上使用的滑鼠連點程式, 參考了這篇文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=46574 使用了RegisterHotKey來設定快速鍵,配合mouse_event來做這個功能。 但是focus該遊戲後,設定的快速鍵就沒有反應了,而遊戲離開focus狀態後,快速鍵又有反應了。 請問問題大概是出在哪呢? 謝謝< >< > -- 初學新手,請多指教@@ 發表人 - 時代之風 於 2005/08/24 17:51:39
malanlk
尊榮會員


發表:20
回覆:694
積分:572
註冊:2004-04-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-24 09:20:58 IP:203.69.xxx.xxx 未訂閱
我猜快速鍵 應該被該遊戲攔截掉了, 你可以再仿 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=46574 寫一支, 攔截 HotKey 的程式     
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  RegisterHotKey(Handle,8888888,NULL,121); <--註冊F10
  Application->StrtLgIn;
}    void __fastcall TForm1::StrtLgIn(tagMSG &Msg,bool &Handled)
{
 if (Msg.message==WM_HOTKEY) {   <--這勭做偵測是否按下HotKey, 並做後續處理
     ShowMessage("F10");
  Handled := True; 
}
此處假設你的 HotKey 是 F10 紅色部分 數字不要跟你程式一樣 藍色部份就是阻止 HotKey 繼續傳遞給其他視窗 你可以試試看你的 快速鍵是不是被這支程式攔截了...
時代之風
一般會員


發表:4
回覆:4
積分:1
註冊:2005-06-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-24 18:19:55 IP:139.175.xxx.xxx 未訂閱
謝謝malanlk的回答 不過不太懂 <>> 這個意思, 加上了這一行,問題仍然存在, 即使遊戲處於視窗模式, >
malanlk
尊榮會員


發表:20
回覆:694
積分:572
註冊:2004-04-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-25 18:35:57 IP:203.69.xxx.xxx 未訂閱
應該是遊戲Focus時, 顯然攔截了鍵盤訊息, 應該用 Hook 方式試試看 http://delphi.ktop.com.tw/topic.php?topic_id=60723 利用Hook技術實現鍵盤監控 http://delphi.ktop.com.tw/topic.php?topic_id=19936 與作業系統掛勾-Hook寫作 http://delphi.ktop.com.tw/topic.php?topic_id=47170
時代之風
一般會員


發表:4
回覆:4
積分:1
註冊:2005-06-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-25 21:35:52 IP:139.175.xxx.xxx 未訂閱
謝謝malanlk大大的回應, 現在就去爬相關文章。 < > -- 初學新手,請多指教< >
系統時間:2017-12-12 10:41:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!