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

LoveBeyond

使用低級鍵盤鉤子實現(xiàn)鍵盤改鍵

很垃圾的文章了,大牛們直接飄過吧。
為什么要實現(xiàn)改鍵?
前幾天玩一個游戲,因為ASDW這幾個鍵不能控制方向所以感覺很不方便,于是就想出了自己寫一個全局鍵盤鉤子來實現(xiàn)改鍵的程序;一般能自己解決的問題我都會自己想辦法解決,所以也沒有用網(wǎng)上先有的程序了。
怎么實現(xiàn)鍵盤改鍵?
裝一個全局的低級鍵盤鉤子(WH_KEYBOARD_LL),在鍵盤鉤子回調(diào)函數(shù)(LowLevelKeyboardProc)中判斷是不是目標按鍵,如果是則通過keybd_event來實現(xiàn)模擬按鍵,同時直接用return TRUE;來對回調(diào)函數(shù)進行返回。如果不是目標按鍵,那么需要傳遞到下一個鉤子鏈。全局的鉤子需要放在DLL里面。
改鍵效果
對普通程序有效……因為我玩的游戲是Direct X的,所以鍵盤鉤子完全相當于不存在,因為沒有接觸過Direct X,所以就沒有繼續(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 }

原創(chuàng)文章,轉(zhuǎn)載請注明:
本文出自程序人生 >> 使用低級鍵盤鉤子實現(xiàn)鍵盤改鍵
作者:代碼瘋子

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

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

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統(tǒng)計

留言簿(1)

文章分類

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

友情鏈接:C++博客 LoveBeyond 代碼瘋子 程序人生 C++技術(shù)博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品mv在线观看| 国产精品亚洲网站| 亚洲第一精品电影| 榴莲视频成人在线观看| 久久久久综合网| 亚洲人成在线观看一区二区| 欧美激情在线观看| 欧美高潮视频| 亚洲欧美色婷婷| 欧美一二三视频| 亚洲成在线观看| 亚洲日本免费| 国产精品影视天天线| 久久不射电影网| 久久久一本精品99久久精品66| 一区在线视频观看| 欧美激情免费在线| 欧美体内she精视频| 久久精品国产亚洲5555| 久热国产精品| 亚洲香蕉在线观看| 久久精品日产第一区二区三区| 在线日韩视频| 亚洲日韩欧美视频一区| 国产欧美日韩亚洲| 牛牛国产精品| 国产精品久久久久秋霞鲁丝 | 国产欧美亚洲日本| 美女视频黄a大片欧美| 欧美精品自拍| 久久精品最新地址| 欧美精品电影| 久久久久久网址| 欧美日韩国产色站一区二区三区| 久久精精品视频| 欧美激情国产日韩| 久久久久久高潮国产精品视| 欧美老女人xx| 欧美成人在线网站| 国产日韩av高清| 亚洲日韩视频| 91久久黄色| 久久精品国产亚洲一区二区三区| 亚洲视频一二| 欧美黄在线观看| 久久久中精品2020中文| 国产精品二区二区三区| 欧美激情久久久久久| 国产亚洲一区在线播放| 一区二区三区黄色| 夜夜嗨av一区二区三区中文字幕| 久久视频一区| 久久青草欧美一区二区三区| 国产精品久线观看视频| 日韩视频在线你懂得| 最新日韩精品| 久久久久久久久久久一区| 欧美亚洲综合另类| 欧美日韩一区二区精品| 亚洲高清视频的网址| 国语自产偷拍精品视频偷| 亚洲一区二区影院| 在线综合亚洲欧美在线视频| 欧美成人蜜桃| 亚洲激情啪啪| 亚洲精品一区在线| 欧美mv日韩mv国产网站| 欧美不卡一卡二卡免费版| 激情亚洲网站| 久久精品人人做人人爽| 老司机成人在线视频| 国产一区二区三区精品久久久| 欧美怡红院视频一区二区三区| 久久成人在线| 国外成人性视频| 久久久久久久一区二区三区| 免费一区视频| 亚洲免费观看高清在线观看| 欧美区日韩区| 亚洲午夜一级| 欧美在线中文字幕| 黄色成人小视频| 男女精品网站| 日韩视频在线播放| 欧美一区在线视频| 精品成人在线观看| 欧美激情自拍| 中文高清一区| 久久理论片午夜琪琪电影网| 亚洲国产成人av| 欧美日韩国产精品| 亚洲欧美一区二区激情| 久久久久久亚洲综合影院红桃| 激情欧美一区二区三区| 欧美1区免费| 亚洲视频在线观看三级| 久久久久久久久伊人| 亚洲国内精品在线| 国产精品成人一区二区网站软件 | 亚洲第一区在线观看| 日韩午夜av电影| 国产精品亚洲综合天堂夜夜| 久久超碰97中文字幕| 亚洲高清视频一区二区| 亚洲欧美一区二区三区久久| 黄色综合网站| 国产精品第13页| 久久婷婷国产综合精品青草| a4yy欧美一区二区三区| 免费看亚洲片| 欧美一区影院| 99re6这里只有精品| 韩国欧美一区| 欧美性大战久久久久久久| 久久免费视频在线观看| 亚洲永久精品国产| 亚洲高清在线视频| 久久都是精品| 亚洲自拍啪啪| 亚洲美女在线一区| 国产永久精品大片wwwapp| 欧美人与性动交α欧美精品济南到| 亚洲欧美日韩中文视频| 亚洲另类视频| 亚洲国产精品久久久久| 狂野欧美激情性xxxx欧美| 亚洲欧美日韩精品综合在线观看 | 国产久一道中文一区| 欧美顶级大胆免费视频| 久久精品论坛| 午夜精品福利在线观看| 日韩视频在线观看国产| 亚洲激情二区| 欧美激情精品久久久久久免费印度| 久久精品视频在线| 香蕉久久夜色| 亚洲一区区二区| 一区二区成人精品| 最新国产成人在线观看| 亚洲第一偷拍| 亚洲福利视频网站| 影音先锋亚洲一区| 好吊视频一区二区三区四区 | 欧美日韩国产成人精品| 欧美 日韩 国产 一区| 看欧美日韩国产| 久久米奇亚洲| 久久综合久久综合久久| 麻豆国产va免费精品高清在线| 久久精品盗摄| 久久全球大尺度高清视频| 久久久久免费视频| 久久久久久久91| 美女脱光内衣内裤视频久久网站| 久久中文欧美| 欧美 日韩 国产一区二区在线视频 | 亚洲影视中文字幕| 亚洲欧洲99久久| 午夜在线一区| 久久国产精品黑丝| 久久久综合网站| 免费成人小视频| 欧美三日本三级少妇三2023| 欧美日韩视频专区在线播放 | 欧美人妖另类| 欧美日韩国产一级片| 欧美天天在线| 国产欧美日韩另类一区| 在线精品国产欧美| 亚洲日本中文字幕免费在线不卡| 亚洲免费观看高清在线观看| 在线视频一区观看| 性亚洲最疯狂xxxx高清| 蜜乳av另类精品一区二区| 亚洲国产精品一区二区www在线| 亚洲精品字幕| 欧美一区成人| 欧美精品午夜| 国产视频欧美视频| 亚洲日韩欧美视频一区| 亚洲女爱视频在线| 欧美成人国产| 亚洲一区二区成人| 久久综合狠狠综合久久综青草| 欧美国产一区二区| 国产日韩欧美制服另类| 91久久精品日日躁夜夜躁国产| 亚洲欧美综合一区| 欧美成熟视频| 欧美一级午夜免费电影| 欧美美女视频| 激情久久久久久久| 中文精品视频| 模特精品在线| 亚洲综合视频1区| 欧美 日韩 国产一区二区在线视频| 国产精品裸体一区二区三区| 亚洲激情电影在线| 久久精品成人| 亚洲一区在线免费|