Win32软件开发: 按键精灵 鼠标模拟器(VibraClick)

1. 简介

玩游戏的时候难免会遇到一些游戏的 “折磨”。例如:我们要使用道具的时候,可这个道具居然没有批量使用!!!

那行吧,我们就来动手做一个按键精灵解放我们的双手。

PS:目前只做了鼠标按键版的,如果有需要键盘的,可以私信或下方留言,后续看需补充吧~

2. 那我们就开始吧~

①. 首先是Win32的框架(这里我就直接套用过来了,不懂可以看下我之前的文章哈~)

简单讲解上面内容:

1. 定义了一个按键模拟器类(VibraClick) 的变量 g_vibraClick

2. 初始化这个按键模拟器

3. 由于注册了热键 CTRL + S 和 CTRL + R 进行录制和运行,所以消息处理了WM_HOTKEY

②. VibraClick(按键模拟器类)

VibraClick.h


  1. #pragma once
  2. #ifndef __VIBRA_CLICK_H__
  3. #define __VIBRA_CLICK_H__
  4. #include
  5. #include
  6. // 参照 INPUT 类
  7. struct MouseRecInput {
  8. DWORD type;
  9. MOUSEINPUT mi;
  10. };
  11. // 定时器回调
  12. VOID CALLBACK TimerProc(HWND hwnd, UINT message, UINT nIDEvent, DWORD dwTime);
  13. // 鼠标Hook消息处理
  14. LRESULT CALLBACK MouseMessageProc(INT nCode, WPARAM wParam, LPARAM lParam);
  15. class VibraClick
  16. {
  17. using MouseRecInputVector = std::vector;
  18. public:
  19. VibraClick();
  20. ~VibraClick();
  21. public:
  22. void Init(HWND hWnd); // 初始化
  23. void StartMouseRec(); // 开始录制鼠标操作
  24. void StopMouseRec(); // 停止录制鼠标操作
  25. void StartRunMouseRec(); // 开始运行鼠标录制的内容
  26. void StopRunMouseRec(); // 停止运行鼠标录制的内容
  27. void CleanMouseRecInput(); // 清除鼠标记录内容
  28. void OnHotKey(WPARAM nHotKeyId); // 热键处理
  29. public:
  30. static VibraClick *GetInstance() { return _inst; }
  31. bool IsStartMouseRec() { return m_IsStartMouseRec; }
  32. bool IsStartRunMouseRec() { return m_IsStartRunMouseRec; }
  33. HHOOK GetHHMouseHook() { return m_hhMouseHook; }
  34. MouseRecInputVector &GetMouseRecInputVector来源:南雨兮

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月28日
下一篇 2023年1月1日

相关推荐