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

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 閱讀(3606) 評論(0)  編輯 收藏 引用

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

留言簿(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>
            欧美阿v一级看视频| 日韩视频一区二区在线观看 | 欧美成人综合网站| 久久久综合香蕉尹人综合网| 久久综合伊人77777| 欧美二区在线看| 99香蕉国产精品偷在线观看| 亚洲欧美制服中文字幕| 久久综合免费视频影院| 欧美伦理影院| 国产一区二区三区的电影 | 欧美日韩中文在线观看| 国产精品日韩欧美| 在线精品视频一区二区| 亚洲一区二区三区免费观看 | 久久久水蜜桃| 亚洲破处大片| 亚洲一区影音先锋| 免费精品99久久国产综合精品| 欧美日本免费一区二区三区| 国产精品一页| 日韩一级黄色大片| 久久久夜色精品亚洲| 亚洲日本电影在线| 欧美亚洲一区二区在线观看| 欧美freesex8一10精品| 国产美女精品一区二区三区 | 久热精品视频在线免费观看| 亚洲伦理自拍| 另类天堂av| 国产精品一区二区黑丝| 一区二区三区日韩欧美| 欧美bbbxxxxx| 久久成人综合网| 国产精品伦一区| 亚洲精品中文字幕女同| 蜜臀99久久精品久久久久久软件| 亚洲视频碰碰| 欧美午夜不卡在线观看免费| 亚洲国产视频一区二区| 久久先锋影音| 午夜精品福利视频| 欧美久久久久久久久久| …久久精品99久久香蕉国产| 久久久久久久久久久久久女国产乱| 日韩一级大片在线| 欧美伦理在线观看| 99国产精品99久久久久久粉嫩| 欧美va亚洲va国产综合| 久久精品人人做人人爽| 国产午夜精品一区理论片飘花| 亚洲欧美视频在线| 一区二区三区四区精品| 欧美午夜宅男影院| 亚洲一区免费| 亚洲一区二区三区精品视频| 国产精品国产三级国产aⅴ浪潮| 亚洲天堂免费观看| 中文国产成人精品久久一| 国产精品夫妻自拍| 午夜精品久久久久久久99黑人| 一级成人国产| 国产精品综合网站| 久久九九电影| 久久精品欧洲| 亚洲人成毛片在线播放| 亚洲黄一区二区三区| 欧美日韩国产另类不卡| 亚洲一区二区黄| 亚洲综合色网站| 国产自产精品| 亚洲韩日在线| 欧美午夜电影网| 欧美专区一区二区三区| 久久久久国产精品一区三寸| 亚洲激情第一页| 日韩视频免费观看| 国产欧美欧美| 欧美国产亚洲另类动漫| 欧美伦理一区二区| 欧美在线视频一区| 另类综合日韩欧美亚洲| 亚洲欧洲另类国产综合| 一区二区高清在线| 黑人一区二区| 亚洲免费精彩视频| 狠狠入ady亚洲精品经典电影| 亚洲大胆av| 国产精品午夜av在线| 蜜臀99久久精品久久久久久软件 | 久久九九热re6这里有精品| 老司机免费视频久久| 制服丝袜亚洲播放| 久久国产精品亚洲77777| 日韩一级不卡| 欧美专区日韩专区| 一区二区免费在线观看| 欧美诱惑福利视频| 亚洲丝袜av一区| 国产精品免费观看在线| 亚洲国产精品专区久久| 亚洲视频欧美在线| 亚洲欧洲一区二区三区在线观看| 一区二区三区久久| 一区在线影院| 亚洲午夜视频在线观看| 亚洲欧洲日本一区二区三区| 亚洲欧美视频在线观看| 亚洲视频导航| 欧美777四色影视在线| 久久成人精品一区二区三区| 欧美日韩你懂的| 亚洲高清三级视频| 激情成人亚洲| 久久成人综合网| 欧美亚洲专区| 欧美午夜精品理论片a级按摩| 亚洲高清激情| 在线观看日韩av先锋影音电影院| 亚洲女人天堂成人av在线| 日韩一二在线观看| 欧美寡妇偷汉性猛交| 欧美成人性网| 亚洲大片精品永久免费| 久久精品国产亚洲高清剧情介绍| 亚洲男女自偷自拍图片另类| 欧美女同在线视频| 亚洲精品欧美日韩| 99riav1国产精品视频| 欧美成年人网| 欧美岛国在线观看| 亚洲人在线视频| 欧美电影电视剧在线观看| 欧美激情精品久久久久久大尺度| 在线观看一区二区视频| 久久视频在线看| 欧美大尺度在线| 亚洲激情成人在线| 欧美精品日韩一区| 一本到12不卡视频在线dvd| 亚洲综合国产激情另类一区| 欧美性视频网站| 一本色道久久综合亚洲精品按摩| 亚洲视频在线看| 国产精品黄色| 欧美一级黄色网| 欧美电影在线播放| 夜夜夜精品看看| 国产精品亚洲综合天堂夜夜| 性久久久久久久| 欧美成人情趣视频| 亚洲亚洲精品在线观看| 国产精品日日摸夜夜添夜夜av| 香蕉久久一区二区不卡无毒影院| 久久久一二三| 亚洲欧洲视频| 国产精品成人播放| 久久都是精品| 亚洲精品国产系列| 香蕉久久a毛片| 亚洲高清一二三区| 欧美午夜一区二区三区免费大片| 亚洲影院高清在线| 美女诱惑一区| 亚洲中午字幕| 激情国产一区| 欧美日本乱大交xxxxx| 亚洲欧美日韩国产一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 性感少妇一区| 在线观看欧美| 欧美日韩国产色视频| 香蕉av777xxx色综合一区| 欧美成人免费视频| 亚洲欧美日韩另类| 亚洲国产精品传媒在线观看| 国产精品久久久一区麻豆最新章节| 欧美一区二区三区在线看 | 亚洲欧美激情视频| 一区二区在线不卡| 国产精品久久九九| 欧美www视频| 欧美亚洲视频在线观看| 日韩亚洲欧美中文三级| 美女91精品| 欧美一区二区网站| 一本色道久久综合亚洲精品高清| 经典三级久久| 国产欧美精品在线| 欧美视频二区| 欧美精品在线观看一区二区| 久久久久久久综合日本| 亚洲嫩草精品久久| 亚洲午夜av在线| 亚洲伦理一区| 91久久精品一区二区别| 欧美成人中文| 欧美成人免费小视频| 久久久久国内| 久久精品国产久精国产爱|