青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

LoveBeyond

使用低級鍵盤鉤子實現鍵盤改鍵

很垃圾的文章了,大牛們直接飄過吧。
為什么要實現改鍵?
前幾天玩一個游戲,因為ASDW這幾個鍵不能控制方向所以感覺很不方便,于是就想出了自己寫一個全局鍵盤鉤子來實現改鍵的程序;一般能自己解決的問題我都會自己想辦法解決,所以也沒有用網上先有的程序了。
怎么實現鍵盤改鍵?
裝一個全局的低級鍵盤鉤子(WH_KEYBOARD_LL),在鍵盤鉤子回調函數(LowLevelKeyboardProc)中判斷是不是目標按鍵,如果是則通過keybd_event來實現模擬按鍵,同時直接用return TRUE;來對回調函數進行返回。如果不是目標按鍵,那么需要傳遞到下一個鉤子鏈。全局的鉤子需要放在DLL里面。
改鍵效果
對普通程序有效……因為我玩的游戲是Direct X的,所以鍵盤鉤子完全相當于不存在,因為沒有接觸過Direct X,所以就沒有繼續寫下去了。
改鍵代碼
 1 // 說明:頭文件KeyRedir.h
 2 // 作者:代碼瘋子
 3 // Blog: http://www.programlife.net/
 4 #ifndef __KEYHOOK_H_H
 5 #define __KEYHOOK_H_H
 6  
 7 #ifdef MY_HOOK_API
 8 #else
 9 #define MY_HOOK_API _declspec(dllimport)
10 #endif
11  
12 #ifdef __cplusplus
13 extern "C" {
14 #endif 
15  
16     MY_HOOK_API BOOL __stdcall InstallHook();
17     MY_HOOK_API BOOL __stdcall UnInstallHook();
18  
19 #ifdef __cplusplus
20 }
21 #endif 
22  
23 #endif

1 // 說明:Def文件KeyRedir.def
2 // 作者:代碼瘋子
3 // Blog: http://www.programlife.net/
4 LIBRARY    "KeyRedir"
5  
6 EXPORTS
7 InstallHook
8 UnInstallHook

 1 // 說明:源文件KeyRedir.cpp
 2 // 作者:代碼瘋子
 3 // Blog: http://www.programlife.net/
 4 #include <windows.h>
 5  
 6 #pragma warning(disable:4996)
 7  
 8 #define MY_HOOK_API _declspec(dllexport)
 9 #include "KeyRedir.h"
10  
11 HINSTANCE g_hInst = NULL;
12 static HHOOK g_hHook = NULL;
13  
14 BYTE g_bVK[4] = {VK_LEFT, VK_DOWN, VK_RIGHT, VK_UP};
15  
16 LRESULT CALLBACK LowLevelKeyboardProc(
17     int code,
18     WPARAM wParam,
19     LPARAM lParam)
20 {
21     if(code == HC_ACTION)
22     {
23         PKBDLLHOOKSTRUCT pStruct = (PKBDLLHOOKSTRUCT)lParam;
24         DWORD dwIndex = 0;
25         switch (pStruct->vkCode)
26         {
27         case L'A':
28         case L'a':
29             dwIndex = 0;
30             break;
31  
32         case L'S':
33         case L's':
34             dwIndex = 1;
35             break;
36  
37         case L'D':
38         case L'd':
39             dwIndex = 2;
40             break;
41  
42         case L'W':
43         case L'w':
44             dwIndex = 3;
45             break;
46  
47         default:
48             return CallNextHookEx(g_hHook, code, wParam, lParam);
49         }
50         if (wParam == WM_KEYDOWN)
51         {
52             keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), 0, 0);                                
53         }
54         else if (wParam == WM_KEYUP)
55         {
56             keybd_event(g_bVK[dwIndex], MapVirtualKey(g_bVK[dwIndex], 0), KEYEVENTF_KEYUP, 0);
57         }
58         return TRUE;
59     }
60     return CallNextHookEx(g_hHook, code, wParam, lParam);
61 }
62  
63 BOOL __stdcall InstallHook()
64 {
65     g_hHook = SetWindowsHookEx(WH_KEYBOARD_LL,
66         LowLevelKeyboardProc,
67         g_hInst,
68         NULL);
69     return g_hHook == NULL ? FALSE : TRUE;
70 }
71  
72 BOOL __stdcall UnInstallHook()
73 {
74     return UnhookWindowsHookEx(g_hHook);
75 }
76  
77 BOOL WINAPI DllMain(IN HINSTANCE hDllHandle,
78                     IN DWORD nReason,
79                     IN LPVOID Reserved)
80 {
81     g_hInst = hDllHandle;
82     return TRUE;
83 }

原創文章,轉載請注明:
本文出自程序人生 >> 使用低級鍵盤鉤子實現鍵盤改鍵
作者:代碼瘋子

您可能對下面的文章也感興趣:
  1. 在DLL中獲取主進程窗口句柄 (16.3)
  2. Win32寫的屏幕取色工具 (15.5)
  3. SysListView32控件響應鼠標單擊消息 (15.4)
  4. SDK設置編輯框控件只讀屬性 (12.8)
  5. error C2059: syntax error : ‘string’ (11.6)
分類:Windows SDK標簽:

posted on 2011-11-10 15:03 LoveBeyond 閱讀(3618) 評論(0)  編輯 收藏 引用

<2011年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

導航

統計

留言簿(1)

文章分類

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

友情鏈接:C++博客 LoveBeyond 代碼瘋子 程序人生 C++技術博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产福利| 欧美日韩一级大片网址| 一区二区三区**美女毛片| 欧美一区三区二区在线观看| 亚洲免费精彩视频| 午夜欧美大尺度福利影院在线看| 亚洲美女av在线播放| 久久久噜噜噜久久人人看| 欧美在线www| 久久精品国产一区二区三区免费看| 久久国产加勒比精品无码| 亚洲先锋成人| 欧美精品一区二区三区蜜臀| 免费高清在线一区| 韩国一区二区三区美女美女秀| 中文日韩欧美| 亚洲欧美在线另类| 国产精品国产a级| 99视频精品免费观看| 亚洲精品免费电影| 欧美成人r级一区二区三区| 裸体丰满少妇做受久久99精品| 国产亚洲精品一区二区| 午夜影视日本亚洲欧洲精品| 午夜欧美不卡精品aaaaa| 国产精品久久久久久久久久久久久| 亚洲人成人99网站| 99www免费人成精品| 欧美国产日本在线| 日韩一区二区福利| 在线亚洲+欧美+日本专区| 欧美日韩国产精品| 在线亚洲伦理| 久久精品亚洲一区二区三区浴池| 国产拍揄自揄精品视频麻豆| 欧美一区二区三区婷婷月色 | 一区二区三区四区五区视频 | 亚洲精品自在久久| 99精品99| 国产精品乱码人人做人人爱| 亚洲一区二区三区三| 欧美一区在线直播| 国内精品久久久久久久影视麻豆| 久久久999国产| 欧美高清视频在线播放| 亚洲人成网站在线播| 欧美日韩国产123区| 国产精品99久久久久久久vr| 性亚洲最疯狂xxxx高清| 狠狠色综合一区二区| 欧美成人午夜免费视在线看片| 亚洲精品久久久久久一区二区 | 在线亚洲一区观看| 久久精品成人| 亚洲精品小视频在线观看| 欧美日韩国产免费观看| 午夜精品久久久久久久| 亚洲成色999久久网站| 亚洲线精品一区二区三区八戒| 国产美女精品免费电影| 免费看的黄色欧美网站| 亚洲一区视频在线观看视频| 久久一区国产| 亚洲一区黄色| 韩国在线视频一区| 欧美女激情福利| 欧美一区二区三区视频在线| 亚洲人成久久| 久热精品视频在线观看一区| 亚洲视频一起| 亚洲国产欧美不卡在线观看| 国产伦精品一区二区| 美玉足脚交一区二区三区图片| 亚洲特级毛片| 亚洲国产色一区| 麻豆91精品91久久久的内涵| 亚洲一区二区三区精品视频| 亚洲第一免费播放区| 国产精品亚洲欧美| 欧美激情亚洲综合一区| 久久高清福利视频| 亚洲一级黄色av| 亚洲第一精品夜夜躁人人爽| 久久久久久亚洲综合影院红桃| 亚洲性夜色噜噜噜7777| 亚洲日本成人| 狠狠干狠狠久久| 国产精品五月天| 欧美日韩免费一区| 女人天堂亚洲aⅴ在线观看| 久久精品视频在线看| 午夜精品国产更新| 亚洲午夜成aⅴ人片| 99视频一区二区| 亚洲精品国产日韩| 亚洲国产欧美一区二区三区久久 | 麻豆精品一区二区av白丝在线| 亚洲欧美在线aaa| 亚洲视频999| 亚洲美女av在线播放| 亚洲精品国偷自产在线99热| 欧美a级一区| 欧美夫妇交换俱乐部在线观看| 久久久久9999亚洲精品| 久久精品国产免费看久久精品| 午夜精品999| 香蕉亚洲视频| 欧美亚洲视频在线观看| 午夜久久99| 欧美亚洲一区三区| 久久狠狠亚洲综合| 久久国产一区二区三区| 欧美专区一区二区三区| 久久精品夜夜夜夜久久| 久久亚洲综合| 欧美国产日韩一二三区| 欧美激情一区二区在线| 亚洲黄色成人网| 亚洲精品国产精品国自产观看浪潮 | 99综合视频| 一区二区冒白浆视频| 99在线|亚洲一区二区| 亚洲在线免费观看| 欧美影院成人| 免费观看成人网| 亚洲国产成人午夜在线一区 | 欧美在线一二三| 久久免费视频在线观看| 欧美va亚洲va香蕉在线| 欧美精品一区在线发布| 国产精品一区=区| 激情六月婷婷综合| 99热这里只有成人精品国产| 亚洲字幕在线观看| 老司机精品视频一区二区三区| 亚洲丶国产丶欧美一区二区三区| 日韩视频免费观看高清在线视频 | 亚洲高清资源| 一区二区毛片| 久久免费视频一区| 亚洲三级毛片| 欧美影院在线播放| 欧美精品在线观看一区二区| 国产精品中文在线| 亚洲黄色免费网站| 欧美一区二区三区四区在线观看地址| 蜜臀av性久久久久蜜臀aⅴ| 亚洲人成在线播放| 欧美资源在线| 欧美日韩一区二区在线观看 | 亚洲免费成人av| 久久精品国产一区二区电影 | 亚洲图色在线| 美女久久一区| 国产日产欧美一区| 一区二区三区视频在线播放| 久久久久久电影| 在线中文字幕日韩| 美女脱光内衣内裤视频久久影院| 国产精品久久午夜| 亚洲欧洲美洲综合色网| 久久国产黑丝| 中国亚洲黄色| 欧美精品一区三区| 亚洲大片av| 欧美一区激情| 一区二区三区视频在线| 欧美高清一区| 亚洲高清在线观看一区| 久久成人综合视频| 亚洲最新在线视频| 欧美精品啪啪| 91久久久亚洲精品| 久久嫩草精品久久久精品一| 亚洲一区二区三区成人在线视频精品 | 欧美日韩亚洲一区二区三区在线观看 | 亚洲欧美日韩精品综合在线观看| 欧美日韩精品免费观看视频| 亚洲国产三级网| 久久综合五月| 欧美一区观看| 国产视频欧美视频| 午夜精品剧场| 一区二区三区四区蜜桃| 欧美日韩国产色综合一二三四| 亚洲电影欧美电影有声小说| 久久亚洲综合| 久久精品国产99精品国产亚洲性色| 国产精品永久入口久久久| 亚洲欧美国产精品va在线观看| 亚洲美女网站| 国产精品99一区二区| 亚洲与欧洲av电影| 一区二区欧美亚洲| 国产精品久久国产三级国电话系列| 99在线精品视频在线观看| 亚洲肉体裸体xxxx137| 欧美日韩国产三级| 亚洲影院在线| 亚洲一区美女视频在线观看免费|