抽空学习VB,VC++之 VB游戏外挂学习制作(二)

深入解析API模拟键盘与鼠标操作 API可以被看作是一组预定义的规则,允许软件程序之间进行交互。它通常包括一组函数、协议、对象等,为开发者提供一个明确的接口来访问功能、数据和服务。API可以大致分为两类:公共API和私有API。公共API对所有人都开放,常用于Web服务,如天气信息、地图服务等;私有API则通常供内部软件使用,以保持企业内部操作的安全性和一致性。cInputs:即将发送的事件数量。lpInputs:指向INPUT结构数组的指针,该数组包含事件信息。cbSizeINPUT结构的大小。INPUT。 阅读详情
  

实验二:全局模拟键盘




跟上次不同,上次是需要知道具体窗口的句柄,现在不用了,所有窗口都响应的就叫全局咯。

 简单得很,看吧。

(一)

添加模块

编写代码
Declare Sub keybd_event Lib "user32" (ByVal bVk As ByteByVal bScan As ByteByVal dwFlags As LongByVal dwExtraInfo As Long)
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Public Const VK_A = &H41


然后编写窗体代码


Private Sub Command1_Click()
Dim i As Integer
For i = 0 To 30
keybd_event VK_A, 
000      '按下A键
Sleep 500            '延时500毫秒
Next i
End Sub


对一些DIRECTX游戏,最好还是用
’先获得按键的扫描码
keybd_event VK_A, MapVirtualKey(VK_A, 0), 0, 0   '按下A键

OK,执行就可以体验了,选中一个可以输入的地方。

(二)


第二种方法比较麻烦,虽然功能也差不多

模块代码
Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As LongAs Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 Type GENERALINPUT
   dwType 
As Long
   xi(
0 To 23As Byte
 
End Type

 Type KEYBDINPUT
  wVk 
As Integer
  wScan 
As Integer
  dwFlags 
As Long
  time 
As Long
  dwExtraInfo 
As Long
 
End Type

Const INPUT_KEYBOARD = 1
Public Const VK_A = &H41
Sub MySendKey(bkey As Long)
'参数bkey传入要模拟按键的虚拟码即可模拟按下指定键
Dim GInput(0 To 1As GENERALINPUT
Dim KInput As KEYBDINPUT
 KInput.wVk 
= bkey  '你要模拟的按键
 KInput.dwFlags = 0 '按下键标志
 GInput(0).dwType = INPUT_KEYBOARD
 CopyMemory GInput(
0).xi(0), KInput, Len(KInput) '这个函数用来把内存中KInput的数据复制到GInput
 KInput.wVk = bkey
 KInput.dwFlags 
= KEYEVENTF_KEYUP  ' 释放按键
 GInput(1).dwType = INPUT_KEYBOARD ' 表示该消息为键盘消息
 CopyMemory GInput(1).xi(0), KInput, Len(KInput)
'以上工作把按下键和释放键共2条键盘消息加入到GInput数据结构中
 SendInput 2, GInput(0), Len(GInput(0))    '把GInput中存放的消息插入到消息列队
End Sub



编写窗体代码


Private Sub Command1_Click()
Dim i As Integer
For i = 0 To 30
MySendKey VK_A      
'按下A键
Sleep 500            '延时500毫秒
Next i
End Sub



vb游戏简单按键辅助(源代码) 很简单的vb按键辅助参考,注释清晰,代码精简,原来自己用于mc的命令辅助输入,现在已经简化只剩主干,简单利用API,并非操作底层 立即下载

相关推荐

VB.NET通过热键显示或隐藏窗体

这几天碰到了关于热键来控制窗体的显示和隐藏问题,自己找了点资料并做下修改,基本上功能可以实现。希望能给需要的朋友一点帮助

VB keybd_event函数怎么用

Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) ’参数bVk表示要模拟的按键的虚拟码,bScan表示该按键的扫描码(一般可以传0),dwFlags表示是按下键还是释放键(按下键为0,释放键为2),dwExtraInfo是扩展标志,一般没有用。 keybd_event VK_Ctrl, 0, 0, 0

xbnn的专栏 7696

[VB] 显示所有窗口(含隐藏窗口)的句柄和标题.rar

[VB] 显示所有窗口(含隐藏窗口)的句柄和标题

VB 游戏外挂操作类

VB 游戏外挂操作类包括:模拟按键、卸载进程、加载窗口、读取字符、读取内存、写入内存 (代码另存为aa.cls)Option Explicit'Dim T As New 游戏外挂类'Private Sub Command1_Click()' T.加载窗口 "植物大战僵尸中文版"'End Sub'Private Sub Form_Unload(Cancel As Integer)' T.卸载进程...

miaozk2006的专栏 788

如何用VB开发游戏外挂

1.需要VB API函数: FindWindow ←寻找窗口列表中第一个符合指定条件的顶级窗口 GetWindowThreadProcessId ←获取与指定窗口关联在一起的一个进程和线程标识符 ------------------------------------------------------------------------------------------------------

penguinMII的专栏 5552

Visual Basic语言的游戏开发

在现代游戏开发中,您可能会想到使用Unity、Unreal Engine等强大的游戏引擎,或者是使用C++、C#等流行的编程语言。这些工具和语言提供了丰富的功能和灵活性,适合于复杂的3D游戏开发。然而,在某些情况下,使用简单易学的编程语言,如Visual Basic(VB),仍然能够制作出有趣和富有创意的游戏,尤其是在教育、原型设计以及小型项目上。本文将深入探讨Visual Basic语言的游戏开发,包括其历史背景、具体应用、开发流程以及案例分析。

2501_90494488的博客 388

给初学者:用VB外挂 ———— 实战一:动手写一个红色警戒金钱锁定工具

经过前面节的介绍,相信大家已经学会如何从窗口名或类获取游戏PID并且读写指定位置的值了。今天就上一个代码:传颂之物修改器基础上,修改一下,来写一个真正可用的修改器,因为传颂之物的那个能力点数的地址是变化的,所以我们需要改比较多的代码,稍微复杂了一些,呵呵,以后我们再慢慢讲,先用这个红色警戒的温习一下知识,来个实战!欲善其事,先利其器,先说说用到的工具:1、游戏修改器:用来查找金钱所在

zcsor的专栏 7万+

抽空学习VBVC++VB游戏外挂学习制作(一)

    看了一些文章,找了一些书,就开始学吧,至于LINUX内核,当然应该完全分析完毕。          写不出多深的解释,干脆就不解释,我觉得任何一本书或者基础资料都会讲得比较好。     结构理清楚,代码排好,这应该才是最主要的。         今天就来最初步的,我也刚学到一点。慢慢来咯。(声明:其中的代码半抄半加)。    实验一:自动在记事本写一些字。     需要的知识:     1

凡人凡居 3094

学做VB游戏外挂需要学些什么知识

xiaojie517的专栏 724

vb keybd_event api

' 定义Ctrl键,必须定义改键值,否则Ctrl键不能使用。 Public Const VK_CONTROL = &H11 ' 定义KeyUp键 Public Const KEYEVENTF_KEYUP = &H2 ' 参数bVk表示要模拟的按键的虚拟码, ' bScan表示该按键的扫描码(一般可以传0), ' dwFlags表示是按下键还是释放键(按下键为0,释放键...

yanzhibo的专栏IlgawME)Y*Ml 663

VB底层开发经典入门】VB编写植物大战僵尸辅助开发视频教程

很多以前开发的教程,对于新手还是值得学习的,虽然是一款单机游戏,逆向技巧和编程知识 已经融入其中。 涉及到OD反汇编调试器的使用,CE内存搜索器的使用,VB高级编程 第一讲:植物大战僵尸_CE数据查找篇(用CE构造指针) 第讲:植物大战僵尸_VB编写篇(用VB构造CE分析好指针)-读改数据 第三讲:OD找CALL练习(用测试器测试CALL和用VB构造写CALL) 第四讲:[第一节]用spy++找坐标参数 第四讲:[第节]VB代码编写篇目-实现QQ游戏消息机制 第五讲:VB...

追逐光芒,追随内心 1034

模拟鼠标键盘操作,含硬件模拟技术。

   键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件。那么我们怎样才能用VB来写一个程序,达到与按键精灵类似的功能呢?那就让我们来先了解一下windows中响应键盘

Danisの一棵树的软件历程 8691

VB游戏外挂编程入门(一)

以下是用VB外挂的一些知识.我个人认为是入门的一些知识.不敢独享.贴出来给大家!~ 有时间随时补充~呵呵 1.查找目标窗口.需要做外挂,就需要查找目标窗口.然后才做一些其他的动作.比如说鼠标键盘模拟啦.内存修改啦.封包型发送与替换啦什么什么的 ----------------------------------------------------------------------------...

weixin_30636089的博客 370

VB菜鸟最快写出自己的外挂.通杀所有游戏

VB菜鸟最快写出自己的外挂.通杀所有游戏    这年头,在这个论坛里面已经没有什么技术贴了...呵呵~发一篇惊天地,泣鬼神的帖子.当然这个只是模拟键盘的终极模拟.呵呵~    键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重

kirawoo的专栏 1780

VB制作外挂示例

       使用 Visual Basic 制作修改器       作者:Bean(beans@gamehacking.com)       HeYu,Flyinsky 翻译        "对不起,我想这是不可能的,因为VB是一个如此简单的编程语音。"如果有人这么告诉你,别去理他。我可以肯定告诉你,对于制作修改器这种简单的程序,VB完全可以胜任。      然而,有

HeYu 's BLOG 7187

游戏外挂制作 VB =

16进制计算方法 16进制和10进制是不同的,进制是人们规定的的,不是一种自然现象,我们只用0-9表示所有数字,那么大于九的怎么表示呢?我们就规定大于9的就进位,高一位的总是比低一位的大,这样我们可以重复使用0-9这10个数字符号表示所有的数字了,这个就是10进制,然而出于某些原因,我们的网络封包不是10进制,而是16进制,与10进制不同,16进制可以用一个符号表示10,是什么呢?就是A,用B表示

codedream的专栏 2311

威佐夫博弈(双堆取子游戏)解析

先手想赢,就要把局面送进「奇异局势」。把每对的差值d = M−m,恰好是连续整数;而较小的那个数m。这两个数序列(小值⌊kφ⌋与大值⌊kφ²⌋)由贝亚蒂定理保证「每个自然数恰好进一个序列」,于是所有奇异局势两两不交且覆盖完整——只要m == ⌊d·φ⌋,当前局面就是第d个奇异局势,先手无路可胜。

IT_Scratch的博客 206
上一篇: 抽空学习VB,VC++之 VB游戏外挂学习制作(一)
下一篇: 物流管理系统开发前奏
gnuser
博客等级 码龄20年 35粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值