線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1365
推到 Plurk!
推到 Facebook!

想 用 HOOK 抓 个 热 键

答題得分者是:Cooky Kid
ouyongke
一般會員


發表:2
回覆:6
積分:6
註冊:2003-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-09 22:42:51 IP:218.77.xxx.xxx 未訂閱
小 弟 想 在 一 個 程 式 中 抓 取 其 它 程 式 的 熱 鍵 , 不 知 哪 位 大 蝦 可 以 解 決 ? 小 弟 剛 剛 學 編 程 沒 幾 個 月 , 還 沒 學 過 HOOK , 只 好 到 網 路 上 找 大 蝦 們 幫 忙 了 。 想 在 WIN2000 上 用 , 可 能 只 可 以 用 鍵 盤 HOOK 吧 。 謝 謝 了 。 發表人 -
------
城市里, 我像一粒尘埃, 默默地存在...
ouyongke
一般會員


發表:2
回覆:6
積分:6
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-10 19:18:29 IP:218.77.xxx.xxx 未訂閱
自己顶。 我有代码,哪位帮我写出主程序应该怎样调用。 //--------------------------------------------------------------------    #include  #include #pragma hdrstop #pragma argsused extern "C" __declspec(dllexport) void __stdcall SetHook(HWND,bool); LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam); static HINSTANCE hInstance; // 应用实例句柄 static HWND hWndMain; // MainForm句柄 static HHOOK hKeyHook; //static HOOKPROC HookProc; // HOOK句柄 static const SecondPar=0; // 自定义消息第2参数 int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) { //SetWindowsHookEx(WH_JOURNALRECORD,lpfn,hInstance,0); hInstance=hinst; return 1; } void __stdcall SetHook(HWND hMainWin,bool nCode) { if(nCode) // 安放HOOK { hWndMain=hMainWin; hKeyHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)HookProc,hInstance,0); ShowMessage("安装"); } else // 卸下HOOK UnhookWindowsHookEx(hKeyHook); } //-------------------------------------------------------------------- LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam) { MSG *keyMSG=(MSG *)lParam; if((nCode==HC_ACTION)||(keyMSG->message==WM_KEYDOWN)) { if (GetAsyncKeyState(VK_CONTROL)&&GetAsyncKeyState( VK_RETURN )) //上面这句可能有错。我改过了。 { ShowMessage("捕获成功!"); //这里写你按热键后所要执行的代码 } } return((int)CallNextHookEx(hKeyHook,nCode,wParam,lParam)); } //------------------------------------------------------------ 给我代码的兄弟下线了,请高手快出来帮忙! 發表人 - ouyongke 於 2003/05/10 20:24:01
------
城市里, 我像一粒尘埃, 默默地存在...
Cooky Kid
初階會員


發表:5
回覆:68
積分:44
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-10 19:43:41 IP:211.76.xxx.xxx 未訂閱
ouyongke 大大: 看看下列網頁是否可以解您的疑惑? good luck!!! http://forum.vclxx.org/topic.php?TOPIC_ID=13666&FORUM_ID=15&CAT_ID=3&Topic_Title=«سyHOOKªºDLL®ɿù»~,½֯à§ڬݬݭþ¸̼g¿ù¤F&Forum_Title=WinAPI
ouyongke
一般會員


發表:2
回覆:6
積分:6
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-10 20:21:17 IP:218.76.xxx.xxx 未訂閱
幹嘛叫我大大?是台灣的方言?我可是台灣的........ 嗯.....反正我的姐姐在台灣。 ......正在看你的貼子.......... 兄弟,真是好兄弟。我可能是一連兩天沒睡覺腦袋不好使了,怎麽沒想到呢? 把要用的函數分開寫、分開用,哈哈。 多謝。 有空來桃園玩。(不對,是接我來桃園看我姐) 嘻嘻 發表人 - ouyongke 於 2003/05/10 20:23:16
------
城市里, 我像一粒尘埃, 默默地存在...
Cooky Kid
初階會員


發表:5
回覆:68
積分:44
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-10 20:40:24 IP:211.76.xxx.xxx 未訂閱
引言: 幹嘛叫我大大?是台灣的方言?我可是台灣的........ 嗯.....反正我的姐姐在台灣。 ......正在看你的貼子.......... 兄弟,真是好兄弟。我可能是一連兩天沒睡覺腦袋不好使了,怎麽沒想到呢? 把要用的函數分開寫、分開用,哈哈。 多謝。 有空來桃園玩。(不對,是接我來桃園看我姐) 嘻嘻
台灣稱呼"大大",只是跟稱呼 sir or hi!man 差不多..... 可別亂想喔....< >< > 用 Hook 技術,攔截windows系統中全部區域的訊息,是蠻有趣的公開秘密, 推薦一本關於Hook 書籍, 台灣是叫做『Windows 95 程式設計指南』/碁峰/李書良-翻譯 英文名稱是『Windows 95:A Developer's Guide』/Jeffrey Richter & Jonathan Locke, 中國應該有翻譯成簡體版, 這本書的第六章 訊息攔截(Hooks),就是你需要的hook知識。 Good luck!!!
系統時間:2024-04-19 17:57:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!