Liu 板


LINE

看板 Liu  RSS
: 完全更新了原本按鍵攔截的結構 : 因此會非常不穩定,也非常需要測試 ^^" : (才剛解決一個嚴重 Bug) : 事實上我還在評估 : 因為雖然這個結構可以改良部份困擾已久的問題 : 不過程式效率可能會降低(目前還不確定是不是真的會降低) : 所以可能根據大家的回報再決定最後用哪一個結構好了 用 vc 寫 dll 對嗎? 事實上我為了工作已經寫好一個現成的攔截鍵盤 vc dll, 也是由書上抄來的,我用是已經很穩定了,不知道會不會有幫助,提供做參考: // CbtHook.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include "CbtHook.h" #define CBTHOOK_VERSION 1 #define MYWM_APPACTIVATE WM_USER + 1 #define MYWM_APPMINMAX WM_USER + 2 #define MYWM_APPDESTROYWND WM_USER + 3 HINSTANCE g_hinstDll = NULL; // for VS.NET warning C4659: // #pragma 'data_seg' : 使用保留的區段 '.drectve' 有未定義的行為, // 使用 #pragma comment(linker, ...) #pragma data_seg(".drectve") //#pragma comment(linker, "/SECTION:.drectve,RWS") static char szLinkDirectiveShared[] = "-section:Shared,rws"; #pragma data_seg() #pragma data_seg("Shared") HHOOK g_hhook = NULL; HWND g_hwndPost = NULL; #pragma data_seg() static LRESULT WINAPI WndHook_HookProc(int nCode, WPARAM wParam, LPARAM lParam) { switch (nCode) { case HCBT_ACTIVATE: PostMessage(g_hwndPost, MYWM_APPACTIVATE, wParam, (LPARAM)(((LPCBTACTIVATESTRUCT)lParam)->hWndActive)); break; case HCBT_MINMAX: PostMessage(g_hwndPost, MYWM_APPMINMAX, wParam, lParam); break; case HCBT_DESTROYWND: PostMessage(g_hwndPost, MYWM_APPDESTROYWND, wParam, lParam); break; } return CallNextHookEx(g_hhook, nCode, wParam, lParam); } BOOL WINAPI SetWindowHook(int ThreadId, HWND hWndPost) { HHOOK hhook; if (g_hhook != NULL) return(FALSE); g_hwndPost = hWndPost; hhook = SetWindowsHookEx(WH_CBT, WndHook_HookProc, g_hinstDll, ThreadId); InterlockedExchange((PLONG) &g_hhook, (LONG) hhook); return(g_hhook != NULL); } BOOL WINAPI ReleaseWindowHook() { BOOL fOK = TRUE; if (g_hhook == NULL) return(FALSE); fOK = UnhookWindowsHookEx(g_hhook); g_hhook = NULL; return(fOK); } int WINAPI GetDllVersion() { return(CBTHOOK_VERSION); } BOOL APIENTRY DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH: g_hinstDll = hinstDll; break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return(TRUE); } -- ChrisTorng http://groups.msn.com/ChrisTorng ChrisTorng 樣式訊息記錄 V2.1 正式推出 http://groups.msn.com/ChrisTorng/msn6messagelog.msnw --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.75.28.114







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP