1. 简介
玩游戏的时候难免会遇到一些游戏的 “折磨”。例如:我们要使用道具的时候,可这个道具居然没有批量使用!!!
那行吧,我们就来动手做一个按键精灵解放我们的双手。
PS:目前只做了鼠标按键版的,如果有需要键盘的,可以私信或下方留言,后续看需补充吧~
2. 那我们就开始吧~
①. 首先是Win32的框架(这里我就直接套用过来了,不懂可以看下我之前的文章哈~)
简单讲解上面内容:
1. 定义了一个按键模拟器类(VibraClick) 的变量 g_vibraClick
2. 初始化这个按键模拟器
3. 由于注册了热键 CTRL + S 和 CTRL + R 进行录制和运行,所以消息处理了WM_HOTKEY
②. VibraClick(按键模拟器类)
VibraClick.h
-
-
- #pragma once
-
- #ifndef __VIBRA_CLICK_H__
- #define __VIBRA_CLICK_H__
-
- #include
- #include
-
- // 参照 INPUT 类
-
struct MouseRecInput {
- DWORD type;
- MOUSEINPUT mi;
- };
-
- // 定时器回调
-
VOID CALLBACK TimerProc(HWND hwnd, UINT message, UINT nIDEvent, DWORD dwTime);
- // 鼠标Hook消息处理
-
LRESULT CALLBACK MouseMessageProc(INT nCode, WPARAM wParam, LPARAM lParam);
-
class VibraClick
- {
- using MouseRecInputVector = std::vector
;
-
public:
- VibraClick();
- ~VibraClick();
-
-
public:
- void Init(HWND hWnd); // 初始化
- void StartMouseRec(); // 开始录制鼠标操作
- void StopMouseRec(); // 停止录制鼠标操作
- void StartRunMouseRec(); // 开始运行鼠标录制的内容
- void StopRunMouseRec(); // 停止运行鼠标录制的内容
- void CleanMouseRecInput(); // 清除鼠标记录内容
- void OnHotKey(WPARAM nHotKeyId); // 热键处理
-
-
public:
- static VibraClick *GetInstance() { return _inst; }
- bool IsStartMouseRec() { return m_IsStartMouseRec; }
- bool IsStartRunMouseRec() { return m_IsStartRunMouseRec; }
- HHOOK GetHHMouseHook() { return m_hhMouseHook; }
- MouseRecInputVector &GetMouseRecInputVector
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!