首页 > 编程语言 >C++模拟游戏中鼠标点击和键盘按键

C++模拟游戏中鼠标点击和键盘按键

时间:2022-11-24 18:02:03浏览次数:48  
标签:pKey code 鼠标 scan C++ 模拟游戏 key DWORD event


游戏中模拟键盘输入,有时回被系统屏蔽,Java等语言都试过很多方法,好像都没用,所以下面给出一种C++实现方法

#include <iostream>
#include <windows.h>
// for key pushing
BYTE scan_code(DWORD pKey)
{
const DWORD result = MapVirtualKey(pKey, MAPVK_VK_TO_VSC);
return static_cast<BYTE>(result);
}
void press_key(DWORD pKey)
{
keybd_event(static_cast<BYTE>(pKey), scan_code(pKey), 0, 0);
}
void release_key(DWORD pKey)
{
keybd_event(static_cast<BYTE>(pKey), scan_code(pKey), KEYEVENTF_KEYUP, 0);
}
// for testing
#define PRESS(x) press_key(x); std::cout << "Press: " #x << std::endl
#define RELEASE(x) release_key(x); std::cout << "Release: " #x << std::endl
// test
int main(void)
{
Sleep(3000);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
Sleep(10);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
int len = 10;
int i=0;
for (i=0;i<len;i++)
{
PRESS(65);
Sleep(100);
}
}


标签:pKey,code,鼠标,scan,C++,模拟游戏,key,DWORD,event
From: https://blog.51cto.com/u_15890522/5884431

相关文章

  • C++Primer 第3章
    第3章字符串、向量和数组3.1命名空间的using声明目前为止,我们用到的库函数基本上都属于命名空间std,而程序也显式地将这一点标示了出来。例如,std::cin表示从标准输入中......
  • C++模拟鼠标键盘操作
    API或MFC视窗程序里有函数,例如API函数设位置:BOOLSetCursorPos(intx,inty);参数是屏幕坐标x,y头文件Winuser.h链接库#pragmacomment(lib,......
  • vc2012模拟鼠标键盘操作事件
    模拟键盘代码voidKey_Ctrl_S(){keybd_event(VK_CONTROL,0,0,0); keybd_event('S',0,0,0); keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0); keybd_e......
  • VC++模拟键盘输入(keybd_event() 、 PostMessage() /SendMessage()、SendInput())详解
                                           VC++模拟键盘输入找了一周,终于找到模拟键......
  • VC 模拟鼠标和键盘输入
    模拟鼠标点击:1、这里是鼠标左键按下和松开两个事件的组合即一次单击: mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0) 2、模拟鼠标右键单击......
  • C++模拟按键和发送数据
    ZjlAj.h  #pragmaonce #include"stdafx.h"   #defineZJL_TEXT_T("RFSettingV3.47")   enum{NOS_COM=0X20000,N......
  • C++模拟键盘按下的代码
            最近想写自动登录软件的程序,但缺少模拟电脑键盘按下的代码,写了一个小封装,希望大家能看懂或指正一下。 #include<windows.h> #include......
  • C++中的Type Alias
    在C++中,我们通常使用typedef来实现typealias.比如:#include<cstdint>//Cstandardinttypedefuint32_tpoints_t;//points_tisaliasofuint32_ttypedefuin......
  • C++ 简易按键精灵制作
     简易按键精灵制作参考链接:https://docs.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-sendinput?redirectedfrom=MSDN、https://www.fluentcpp.com/20......
  • unity 实现鼠标悬停显示物品信息
    主要用到委托和事件C#委托官网API:event:Link委托:Link鼠标事件方法,需要继承这两个接口IPointerEnterHandler,IPointerExitHandler从而生成以下两个方法OnPointerEnter(......