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

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>
            欧美一区观看| 亚洲国产综合在线看不卡| 在线亚洲自拍| 亚洲一区二区久久| 国产一区二区三区最好精华液| 久久久www成人免费无遮挡大片| 亚欧成人精品| 亚洲国产二区| 一本一本久久| 国产一区二区三区久久久| 久久最新视频| 欧美日韩在线一区二区三区| 欧美一区二区在线播放| 久久综合一区二区| 一本色道久久88亚洲综合88| 亚洲国产成人tv| 一区二区三区欧美亚洲| 亚洲一区二区高清视频| 好吊一区二区三区| 亚洲精品国产精品国自产观看浪潮 | 欧美色欧美亚洲高清在线视频| 亚洲一区二区三区精品在线观看| 午夜日韩激情| 日韩午夜在线视频| 亚洲男女自偷自拍| 亚洲精品女av网站| 欧美主播一区二区三区美女 久久精品人| 在线看片欧美| 亚洲在线观看视频| 亚洲人永久免费| 久久国产精品72免费观看| 亚洲欧洲视频在线| 午夜一级久久| 亚洲一区二区毛片| 欧美gay视频激情| 久久精品最新地址| 欧美日韩亚洲系列| 欧美高清你懂得| 国产亚洲免费的视频看| 日韩视频永久免费观看| 亚洲国产精品毛片| 久久国产福利| 欧美在线地址| 国产精品久久777777毛茸茸| 亚洲第一页在线| 影音先锋久久| 欧美在线观看你懂的| 亚洲在线黄色| 欧美日韩综合视频网址| 亚洲电影第1页| 亚洲人成在线观看一区二区| 久久三级视频| 久久尤物电影视频在线观看| 国产欧美日韩中文字幕在线| 一片黄亚洲嫩模| 一区二区三区欧美亚洲| 欧美精品1区2区| 亚洲国产高清aⅴ视频| 亚洲欧洲一级| 欧美成人r级一区二区三区| 欧美激情一区二区三区蜜桃视频| 在线播放日韩| 理论片一区二区在线| 欧美成人嫩草网站| 亚洲狠狠婷婷| 欧美精品日韩精品| 99精品欧美一区二区三区| 亚洲一区精品视频| 欧美亚州韩日在线看免费版国语版| 一区二区av在线| 亚洲欧美一区二区三区在线| 国产精品色一区二区三区| 亚洲网站视频| 久久高清免费观看| 一区在线播放视频| 欧美jizz19hd性欧美| 亚洲日本乱码在线观看| 亚洲一区二区欧美日韩| 国产精品久久久久久久久果冻传媒 | 亚洲综合欧美日韩| 欧美一区二区三区在线观看视频 | 久久中文字幕一区| 亚洲国产岛国毛片在线| 亚洲一区二区三区精品视频| 国产精品日韩欧美| 久久se精品一区精品二区| 欧美91视频| 亚洲婷婷综合久久一本伊一区| 国产精品一级在线| 久久久久久久一区| 亚洲日本理论电影| 久久er精品视频| 在线视频国产日韩| 欧美天堂亚洲电影院在线播放| 亚洲欧美日韩国产成人精品影院| 免费影视亚洲| 亚洲在线免费视频| 黑人一区二区| 欧美日韩在线播放一区| 久久高清国产| 亚洲少妇在线| 蜜臀av在线播放一区二区三区| 一区二区精品| 在线观看日韩专区| 国产精品成人观看视频国产奇米| 久久精品免费电影| 一本色道**综合亚洲精品蜜桃冫 | 中日韩美女免费视频网址在线观看 | 一本色道久久综合一区| 国产视频一区三区| 欧美日韩在线视频一区二区| 欧美在线视频a| 欧美一级久久| 日韩一区二区免费看| 蜜桃伊人久久| 欧美一区日本一区韩国一区| 亚洲美女少妇无套啪啪呻吟| 国产婷婷色一区二区三区在线| 欧美日韩一区二区三区高清| 久久尤物电影视频在线观看| 午夜精品久久| 亚洲一区在线免费| 亚洲老板91色精品久久| 亚洲国产成人av在线| 久久网站免费| 久久国产日本精品| 午夜激情综合网| 亚洲性线免费观看视频成熟| 日韩视频免费观看高清完整版| 在线观看国产精品网站| 一区二区亚洲| 国内精品嫩模av私拍在线观看 | 欧美三级小说| 欧美日韩高清区| 欧美黄色小视频| 欧美久久电影| 欧美日韩国内自拍| 欧美久久综合| 欧美性色视频在线| 午夜一区二区三视频在线观看| 国产欧美一区二区三区在线看蜜臀| 久久亚洲精品一区| 老司机免费视频一区二区三区| 久久精品视频在线看| 欧美中文字幕精品| 久久成人资源| 久久久夜精品| 欧美成人免费网| 欧美日韩精品中文字幕| 国产精品盗摄久久久| 国产精品麻豆va在线播放| 国产精品超碰97尤物18| 国产女精品视频网站免费| 国产精品腿扒开做爽爽爽挤奶网站 | 亚洲黑丝一区二区| 亚洲清纯自拍| 一区二区高清视频| 亚洲欧美韩国| 久久亚洲精品一区| 欧美精品在线观看一区二区| 欧美性片在线观看| 国模私拍一区二区三区| 亚洲黄色天堂| 午夜精品国产| 免费在线成人av| 亚洲精品一区二区三| 亚洲在线成人| 久久亚洲一区| 欧美日韩一区二区在线观看| 国产农村妇女毛片精品久久莱园子| 黄色亚洲免费| 日韩亚洲国产精品| 久久国产直播| 亚洲国产小视频在线观看| 一区二区三区视频观看| 久久久久久久久久久一区| 欧美精品久久99| 国产日韩欧美日韩大片| 亚洲理伦在线| 久久精品天堂| 亚洲精品久久久久久久久久久久 | 欧美大胆人体视频| 一区电影在线观看| 久久综合狠狠综合久久激情| 欧美日韩在线精品一区二区三区| 国产一区二区三区不卡在线观看| 亚洲精品麻豆| 久久只有精品| 亚洲男女自偷自拍图片另类| 欧美高清在线视频| 国产综合色一区二区三区| aa国产精品| 欧美成人影音| 欧美在线三区| 国产精品色网| 亚洲一区二区三区影院| 亚洲第一区在线观看| 久久精品日产第一区二区| 国产精品欧美日韩一区| 亚洲一区二区三区免费观看|