用VB编写游戏修改器图文教程

合集下载

vb游戏编程

vb游戏编程
Const BT = 3000 '跑道底部的y坐标
Dim l1(22) As Integer '每层跑道左边有几个方块
Dim l2(22) As Integer '每层跑道右边有几个方块
Dim cx As Single '赛车的在x轴的位置
Private Sub Command1_Click()
a[1]=b[temp1];
b[temp1]=b[temp[2];
b[temp2]=a[1];
}
//输出
ListBox1->Clear();
for(i=1;i<=27;i++)
ListBox1->Items->Add(IntToStr(b[i]));
如上例所示,经过打乱,b[27]数组将不再是旧时容颜。
Select Case KeyAscii
Case Asc("a"), Asc("A")
cx = cx - D
Case Asc("s"), Asc("S")
cx = cx + D
End Select
End Sub
Private Sub Timer1_Timer()
知道了玩法,下面我将介绍程序是如何实现的:
一、猜测的奥妙——推算原理
猜测的原理其实也不复杂,我们来模拟一下猜测的过程大家就清楚了。程序初始化时是把1~27将随机打乱分别放入PageControl控件的三个选项卡中,每个选项卡放9张图片。点击一次按钮后其实不是盲目地将顺序打乱,而是进行了筛选,把有用的图片(就是点选的那组的9张图片)筛选出来平均分配到PageControl控件的三个选项卡中,再把不需要的图片集中起来平均分配到PageControl控件的三个选项卡中,最后在各个选项卡中把有用的、无用的图片随机打乱再次重新排列显示出来,从而完成猜测。用表1来说明:

小时候经典游戏用VB编的编写实例教程大全全!

小时候经典游戏用VB编的编写实例教程大全全!

这些游戏以前玩过吧,快下载看它们是怎么编写的!目录:·编写趣味撞球小游戏·用VB6.0设计简易赛车游戏·Visual Basic小游戏:猜英雄·VB游戏写作技巧(1)秀图篇·VB游戏写作技巧(2)网络篇·VB 贪吃蛇单人版游戏(一)·VB 贪吃蛇单人版游戏(二)·VB 贪吃蛇单人版游戏(三)·VB 贪吃蛇单人版游戏(四)·用VB开发即时战略游戏正文:编写趣味撞球小游戏文章来源:沐风经典文章作者:佚名Visual Basic是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球”的程序来初步体会一下。

首先启动VB5,新建一个标准的EXE工程。

此时可以看到,工程包括一个Form1框体。

在Form1边框的右下角按住鼠标左键不放,拖动鼠标把Form1的面积改为适当大小,比如6930×4320。

再在属性框中把Form1的ScaleMode 属性改为3-Pixel,表明我们将以像素为我们的坐标计算单位,把Form1的StartUpPosition 属性设为2-CenterScreen,使运行时窗体出现在屏幕正中。

现在,在控件面板上选取CommandButton(命令按钮)控件,为Form1添加Command1和Command2两个按钮控件,把它们的大小设为121×25,再在属性框中把Command1的Caption填为“&GO”,把Command2的Caption填为“&QUIT”,并把Command1放到框体的右上角,把Command2放到框体的右下角。

然后,在控件面板上选取Timer(时钟)控件,为Form1添加一个Timer1时钟控件。

再在属性框中把它的Enabled属性改为False,Interval属性改为50,前一个值表示该时钟控件是否激活,后一个值决定该时钟控件产生Timer事件的间隔时间,我们将用它来控制小球的移动频率。

用VB制作修改器教程

用VB制作修改器教程

用VB制作修改器教程对不起,我想这是不可能的,因为VB是一个如此简单的编程语音。

"如果有人这么告诉你,别去理他。

我可以肯定告诉你,对于制作修改器这种简单的程序,VB完全可以胜任。

然而,有个问题必须首先考虑:使用VB编写的修改器需要VB的运行库才能运行。

如果考虑到有些使用者(实际上可能是大部分使用者)没有运行库,那么在最后制作的ZIP压缩文件中就必须包含这些庞大的文件。

在下面的教程里我将制作一个修改器,如果为它再制作一个安装程序,那么整个修改器的体积将超过1MB。

其中包括一个很好的安装和反安装程序,但大部分还是VB40032.DLL这个文件。

除了以上这点,使用VB制作修改器是非常简单的。

一旦制作了多次后,你会发现能很快地制作出一个修改器。

而且使用VB制作的修改器能够毫无困难地解决游戏运行时的动态内存分配问题,因此即使是最新的游戏,也可以使用VB制作修改器。

在本教程中将不涉及动态内存分配,因为虽然简单,但仍然属于一个高级的选项。

一些背景知识不象C语音,VB不会自动包括普通的API函数的声明,因此我们必须把他们加入我们的项目文件。

在几乎所有的修改器中会使用到6个主要的函数,讨论如下:1. FindWindow(ClassName, WindowTitle) - FindWindow 返回符合指定的类名( ClassName )和窗口名( WindowTitle )的窗口句柄。

对我们来说,可以让ClassName 为空( Null ),只给出游戏的WindowTitle。

函数应该这样声明:Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long2. GetWindowThreadProcessId(WindowHandle, ProcessId) - 在这里我们把FindWindow 函数中得到的句柄作为参数,来获得进程标识符(ProcessId )。

VB6 修改器制作教学(简)

VB6 修改器制作教学(简)

VB6 修改器制作教学 教学制作者:小白胜⏹修改器修改的对象:七大奇迹2⏹游戏执行档的名称::_7wondersii_r1a.exe⏹修改的CT檔提供者:景棠公子一、事前准备A.准备的工具1.VB6软件2.解压缩我的VB半完成档,先读一遍此WORD檔。

3.游戏-七大奇迹2 测试修改器用(可不用)B.VB原件的设定下面表一是等等VB界面里面须要用到的原件以及设定,请参考设定,以方便后续。

表1C.修改的CE偏移数据(我用图片截图)⏹七大奇迹2的游戏基址:00564120⏹指针的内容在程序里是要倒着加回来的,请对照程序参考。

图一时间偏移图二材料偏移图三积分金钱偏移图四生命偏移二、有用到的VB6基本指令、判断示解说A.变量、一维数组1.变量的宣告Dim、变量为CH、宣告形态Long例:Dim CH As Long数字宣告形态及有效范围:Long 范围-2147483648~2147483647、如果一开没指定CH是02.变量的宣告Dim、变量为processName、宣告形态String例:Dim processName As String字符串宣告形态及有效范围:String 范围0~65400个字符3.宣告一维数组Address(3) 而Address的状态Address(0)、Address(1)、Address(2)、Address(3)用意是用一行宣告就能一次宣告多个变量4.变数大小写视为相同例如:abc = Abc = aBc = ABC……B.叙述句1.IF叙述句If 判断的条件A Then '判断的条件A如果成立,就执行B的内容内容BElse '如果不是就执行C的内容内容CEnd If '结束叙述2.Select case 叙述句Select Case CH '判断CH变量Case 0 '如果CH=0执行内容D内容DCH = CH + 1 'CH值加1,运算后CH=1Case 1 '如果CH=1执行内容E内容ECH = 0 '回到Case0继续End Select '结束叙述三、实作步骤将我的半完成档解压缩出来后,点击Project1.vbp后会出现VB6的编辑窗口,里面已经写好一些基本的程序,然后剩下的就依据制作者的需要自行进行添加了,不过在本教学中,就跟着我做吧,详情请看影片,看影片之前请先读完本WORD档后再开始。

用VB6与VBNET制作游戏修改器-外挂与获取模块基址

用VB6与VBNET制作游戏修改器-外挂与获取模块基址

这篇说说VB6/怎么快速制作游戏修改器并获得模块基址。

由于VB6不支持做64位游戏的修改器,而现在的游戏内容和容量越来越大,电脑硬件配置越来越高端。

32位游戏已经满足不了现在的游戏的开发环境要求而会慢慢向64位过渡。

所以用支持64位的比用VB6要方便得多。

首先是的游戏修改器制作方法。

先运行,新建一个项目,,再选中新建一个窗体,再在右边的资源管理器中双击“MY Project”,进入左边选项的第二项点击进入,再点左边最下方的选项,找到并改目标程序为支持任何位数的游戏的CPU类型即可完成配置。

考虑到让小白新手和看代码如看天书的朋友方便阅读,我把定义名都改了一下,老手莫喷。

以下是Windows Media Player 程序修改全代码举例,大家可以直接复制粘贴即可使用以下为做的修改器代码,请各位自己进行更改或操作。

form上7个控件,2个textbox和3个commandbutton 和2个listbox和1个timer,以下为代码:Public Class Form1Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal A As String, ByVal B As String) As LongPublic Declare Function GetWindowThreadProcessId Lib "user32" (ByVal A As Long, ByRef B As Long) As LongPublic Declare Function OpenProcess Lib "kernel32" (ByVal A As Long, ByVal B As Long, ByVal C As Long) As LongPublic Declare Function ReadProcessMemory Lib "kernel32" (ByVal A As Long, ByVal B As Long, ByRef C As Long, ByVal D As Long, ByVal E As IntPtr) As LongPublic Declare Function WriteProcessMemory Lib "kernel32" (ByVal A As Long, ByVal B As Long, ByRef C As Long, ByVal D As Long, ByRef E As IntPtr) As LongPublic myProcesses() As ProcessPublic myProcess As ProcessDim fw As StringDim pid As LongDim hp As LongPublic Sub W(ByVal B As Long, ByVal C As Long, ByVal D As Long) '定义写入WriteProcessMemory(hp, B, C, D, IntPtr.Zero)End SubPublic Function R(ByVal B As Long, ByVal D As Long) As Long '定义读取Dim Value As IntPtrReadProcessMemory(hp, B, Value, D, IntPtr.Zero)R = ValueEnd Function'以上为定义内容,不要变动。

VB编写猜数字小游戏教程

VB编写猜数字小游戏教程

VB编写猜数字小游戏傻瓜教程本人原创,只在百度文库发布,希望对想学习VB的朋友有所帮助,提高学习VB的兴趣。

本文以VB6为例介绍编写一个最简单的猜数字小游戏过程,VB6在百度上很容易搜索到,本文所需要控件极少,安装一个大小只有6MB的VB6精简版就可以体验了。

不敢说“抛砖引玉”,只怕抛个小砖换来个板儿砖。

总之,本文重点不是从零开始学VB,主要是介绍编写这个小游戏的过程。

首先,启动VB,然后点击文件菜单,点击新建一个工程,即可出现如下界面。

按照下图红色箭头的指向,鼠标在左侧工具条上拖一个文本标签、一个文本输入框、一个按钮到工程界面里边来,然后调整大小和位置大概跟下图比例差不多就行了。

接着,点击label标签,在右边属性窗口里调整字体大小为三号字,因为默认的字体太小了,不爽。

什么?三号字还小?那你自己看着办吧,但我可要告诉你哦,等下显示的内容超出显示区域可别怪我。

改好了吗?本次编程就这三个控件,菜吧?现在双击工程界面的空白区域,不要点在控件上了哦。

双击空白区域后,就弹出了代码编写窗口。

按照下图把代码一个一个给我打上去。

都好几分钟了,打上去了吗?哦,忘了告诉你,复制下面的代码也是一样的。

代码:Dim cai As Integer '定义一个变量用来存储欲猜的数字Private Sub Form_Load()Randomize '重设随机因子Label1.Caption = "请填入你猜测的数字" '让label1显示为空Text1.Text = "" '让text1文本显示为空Command1.Caption = "确定" '让command1显示为"确定"cai = Int(Rnd * 899) + 100 '随机选择一个三位数作为欲猜的数字End Sub以上代码都做了注释,就不需要过多说明了。

(完整)VB实现贪吃蛇小游戏

VB实现贪吃蛇小游戏——比较适合VB初学者,属原创作品图1图2图3如图1所示,布置控件,其中有4个timer控件,1个picture控件(底图),4个command控件(上下左右),10个label控件.其他功能都在程序里实现,其中贪吃蛇都是由点来组成的,初学者主要学习一下timer控件的应用,还有贪吃蛇拐弯怎么实现的.图2、图3是游戏视图.主程序:Public a, b, f As Double: Public i, j, c, d, e, g, h, z As IntegerDim aa(100) As Double: Dim bb(100) As DoublePrivate Sub Form_Load()a = 100:b = 300:c = 4 'a、b定义第一个点(红点)位置,c能控制蓝点数量g = 2000: h = 2000Timer1.Interval = (200 — z * 30) ’定义每个定时器间隔时间 0.2STimer2。

Interval = (200 - z * 30)Timer3。

Interval = (200 — z * 30)Timer4.Interval = (200 - z * 30)Timer5。

Interval = 300Timer1。

Enabled = True '初设一开始向右走Timer2.Enabled = FalseTimer3.Enabled = FalseTimer4。

Enabled = FalseEnd SubPrivate Sub Timer1_Timer() '向右走Picture1.Cls '没循环一次就清除上一次画的图像,要不就看不出运动了Picture1.DrawWidth = 10 '定义画图粗细b = b + 100 ’b每次都加100,画图后坐标就变了aa(i) = abb(j) = bPicture1.PSet (b, a), vbRed ’绘制第一个点(红)For k = 1 To c '此k-for循环从1到c,绘制c个蓝色点If aa(99) = 0 Then '如果游戏刚开始,以下绘制方法,一开始j=0,j—k为负,bb(j—k)与aa(j-k)数组无效,因此在j〈=c时单独绘制If j <= c And i <= c Thenf = 400 - 100 * (k - j)Picture1.PSet (f, 100), vbBlueElsePicture1。

VBA代码编辑器(VBE)

1.3 VBA代码编辑器(VBE)Visual Basic编辑器(VBE)是一个集成的开发环境,是我们查看、编辑、调试VBA程序的重要工具,熟悉和掌握VBE对于提高代码编写的速度,以及调试程序、迅速排除错误有着很重要的帮助。

打开Access数据库,选择菜单【工具】∣【宏】∣【Visual Basic 编辑器】,便进入VBE。

1.3.1 VBE窗口的分类及功能编辑器中有很多窗口,它们可以以窗格的形式显示。

用户可根据自己的习惯用鼠标拖动它们停靠在窗口任意位置,或者选择性的显示一些窗格,如图8-6与8-7所示。

图1-6 VBE窗口1图1-7 VBE窗口2代码窗口:代码窗口用来编写、显示以及编辑Visual Basic代码。

过程与过程之间会显示一条灰色横线以分割。

“过程查看”图标,显示所选的过程,同一时间只能在代码窗口中显示一个过程。

“全模块查看”图标,显示模块中全部的代码。

立即窗口:立即窗口键入或粘贴一行代码,然后按下 ENTER 键来执行该代码,立即窗口中的任何代码或者结果都不能够被存储。

可以用鼠标把选定的代码在立即窗口与代码窗口之间相互拖放。

程序中的“Debug.Print”语句也会将结果输出到立即窗口。

注意在立即窗口显示的信息容量是有限的,当使用大量Debug.Print语句时,可能看不到位于开头位置语句的打印结果。

如果内容比较多,可以考虑将输入信息保存到一个指定的数据表中,以便事后进行观察和分析。

在中断模式下,立即窗口中的语句,是根据显示在过程框的内容或范围来执行的。

我们往往用此来监视代码的执行情况。

本地窗口:本地窗口打开时,可自动显示出当前模块级别及在当前过程中的所有变量的声明及其当前值。

监视窗口:当工程中有定义监视表达式定义时,就会自动出现,窗口中列出了监视表达式及其值、类型与上下文。

1.3.2 对象浏览器按下快捷键F2,可打开对象浏览器,显示出对象库以及这些对象库可供使用的对象、属性、方法、函数及常数。

小时候经典游戏用VB编的编写实例教程大全全!

这些游戏以前玩过吧,快下载看它们是怎么编写的!目录:·编写趣味撞球小游戏·用VB6.0设计简易赛车游戏·Visual Basic小游戏:猜英雄·VB游戏写作技巧(1)秀图篇·VB游戏写作技巧(2)网络篇·VB 贪吃蛇单人版游戏(一)·VB 贪吃蛇单人版游戏(二)·VB 贪吃蛇单人版游戏(三)·VB 贪吃蛇单人版游戏(四)·用VB开发即时战略游戏正文:编写趣味撞球小游戏文章来源:沐风经典文章作者:佚名Visual Basic是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球”的程序来初步体会一下。

首先启动VB5,新建一个标准的EXE工程。

此时可以看到,工程包括一个Form1框体。

在Form1边框的右下角按住鼠标左键不放,拖动鼠标把Form1的面积改为适当大小,比如6930×4320。

再在属性框中把Form1的ScaleMode 属性改为3-Pixel,表明我们将以像素为我们的坐标计算单位,把Form1的StartUpPosition 属性设为2-CenterScreen,使运行时窗体出现在屏幕正中。

现在,在控件面板上选取CommandButton(命令按钮)控件,为Form1添加Command1和Command2两个按钮控件,把它们的大小设为121×25,再在属性框中把Command1的Caption填为“&GO”,把Command2的Caption填为“&QUIT”,并把Command1放到框体的右上角,把Command2放到框体的右下角。

然后,在控件面板上选取Timer(时钟)控件,为Form1添加一个Timer1时钟控件。

再在属性框中把它的Enabled属性改为False,Interval属性改为50,前一个值表示该时钟控件是否激活,后一个值决定该时钟控件产生Timer事件的间隔时间,我们将用它来控制小球的移动频率。

用VB制作游戏修改器(转自电脑报)_455535423


1. 打开VB新建一个标准EXE工程,Form1的Caption属性改为"XXX作弊器"(不包括引号,下同);
2. 在Form1上添加一个Label1,把Label1的Caption属性改为"请稍候……";
3. 在Form1上添加一个Timer控件Timer1,并把Timer1的Interval属性改为"2000",目地是让程序每两秒钟对游戏修改一次;
ReadProcessMemory 函数和WriteProcessMemory函数基本一样,就是第三个参数可以返回内存的数据,这里我就不再赘述了。
二 进程句柄的得到方法
对于VB初学者的来说,句柄这个词特别别扭,按我离解叫做数字编号更好一些,打个比方, 它就好像你的身份证编号.Windows为文件,进程,字体,窗口等都分配一个整数来标识,这个整数就是它们的句柄.
对内存指定地址的数据读取和写入的方法,困扰着许多VB爱好者,本文向大家介绍一种用VB来制作的游戏修改器,希望广大读者通过游戏修器制作,学会VB对内存读取和写入的技巧.文中尽量使用最易懂的词语来介绍,所以就算你是VB初学者,看过本文后,也能轻松制作出自己的游戏修改器。
一内存的写入和读取函数
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Dim pid As Long ' 储存进程标识符
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用VB编写游戏修改器图文教程[size=+3]※前言※这篇教程是针对不会编程的人写的,语言及技术上力求尽量简单,SO在大虾的眼里一定超简单:)。

目前我们用的动态修改器都有提供保存修改地址的功能,更甚者金山游侠2002还有生成可执行文件修改器的功能。

不过用这些修改器修改不太灵活,比如:如果你要修改的地方有几千处,难道你还一一的改?但如果自己编写的话就可以让电脑代劳^0^(下面会讲到)。

另一方面把自己的修改成果以修改器的形式和别人分享,会使自己(修改)所付出的劳动更有意义。

我写这篇文章不是要教读这篇文章的人成为VB高手(我也没这个能力),所以有些问题我不会讲的很清楚,对于读者来说也不必过分注意一些技术细节,很多东西你照着做就行了。

另外此教程只是针对游戏中地址固定的游戏,如果游戏中地址不固定(动态分配),那就需要用到汇编知识了,修改动态地址的游戏不在教程的讨论范围内[size=+3]※基础篇※在讲如何编写前有必要讲一下基础的VB语法,以使你能看懂后面写的代码:3下面是本教程将会用到的语句:=================================================================== ==========Dim 名称as 类型说明:上面的语句是一个声明变量的语句,所谓变量简单的说就是一个‘容器’,用来存放‘数值’,而声明变量就是告诉系统建立一个‘容器’。

‘类型’是用来告诉系统这个‘容器’有多大。

例如:Dim eyesonline As Long '建立一个名为eyesonline的容器(变量),并且这个变量在内存中占用4个字节。

=================================================================== ===========If 条件Then程序语句1End If或If 条件Then程序语句1Else程序语句2End If说明:上面的语句的意思是,如果(所给的)‘条件’成立,就执行‘程序语句1’(注:程序语句1可以是多个语句的组合,程序语句2也一样),如果‘条件’不成立,(Else)将执行‘程序语句2’。

例如If eyesonline = 253 Then '注意这行的‘=’是比较是否相等的意思,在‘条件’语句中‘=’就是这个意思,如果相等则‘条件’成立,如果不相等则‘条件’不成立eyesonline = 874 '而这一行及下面一行的‘=’是将874或233这个数存入eyesonline这个变量中Elseeyesonline = 233End If=================================================================== =For i=1 To X程序语句3Next i说明:这个语句是个循环语句,它的作用是让电脑连续X次执行程序语句3。

=================================================================== =eyesonline(参数1,参数2,参数3,....参数N)说明:这是一个名为eyesonline的函数,在使用时要填入相应的参数。

参数间要用‘,’隔开。

在VB中有时函数不一定要带有‘()’(准确的说是不能带),下面你会看到,这里说一下以防你看到会奇怪,我也是才知道,呵呵=================================================================== =[size=+3]※分析篇※程序:我们要用自己做的程序来修改另外一个程序(进程),但是我们的程序怎样知道哪个程序(VG S)是我们要修改的呢。

这里要用到一个工具软件:spy++。

先起动VGS然后再起动spy++见图一:我们可以从列表中找到VGS的进程(上图中选中的那项)然后在VGS的进程选项上单击右键,在弹出的菜单中选Properties....这项见图二、三在图三中红框中的信息就是我们所需要的(复制下来),只要将这个信息告诉我们的程序,它就知道要修改的程序(VGS)在哪里。

游戏:本教程中要改的游戏是《前线任务--决择》在这个游戏中武器装备分四类,先找出一个武器的数量的地址,通过观察游戏运行的内存可以看出,游戏中四类装备分别存放在四个区域,每类装备的数据基本上连续放在一块的,每个武器有两个值是我们要改的:‘数量’,‘可用/不可用’(简称y/n),‘数量’要改为9,‘y/n’要改为1比如:手持武器的第一个武器的‘数量’起始地址是404D7BA,‘y/n’的地址是404D7BC,第一个武器的‘数量’与第二个武器的‘数量’地址相差C,第一个武器的‘y/n’与第二个武器的‘y/ n’也相差C。

手持武器有27个,知道差值及武器的数量,我们就可以用一个循环让程序自动修改了:For i=1 To 27WriteProcessMemory hOK, ByVal a1, temp1, 1, 0a1 = a1 + &HCWriteProcessMemory hOK, ByVal a2, temp2, 1, 0a2 = a2 + &HCNext iWriteProcessMemory是一个往目标进程的内存地址中写入数值的函数,第一个参数是要修改的进程的句柄(也就是门牌号),第二个参数是保存有地址的变量,第三个参数保存有要填入数值的变量,第四个参数是要写入的字节数,第五个参数我也不太清楚:D设为0就行了[size=+3]※行动※首先我们要打开VB新建一个标准工程。

见图四、五点击菜单栏中的‘工程->添加模块’新建一个模块将以下代码复制到里面Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVa l lpClassName As String, ByVal lpWindowName As String) As LongPublic Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As LongPublic Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Lon gPublic Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpN umberOfBytesWritten As Long) As LongPublic Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long)As Long或者你可以用APILOAD这个程序生成以上代码见图六然后双击图五中的我所标出的4将界面切换回到窗体设计界面上。

我们要用到三个控件:图五中的1、2、3,分别将其拖到窗体上(图五5)然后适当改变他们的大小以适应你的要求。

我们将要用到三个控件分别是:Label控件图五1、CommandButton控件图五2、Chec kBox控件图五3Label控件要用的属性有:CaptionCommandButton控件要用的属性有:CaptionCheckBox控件要用的属性有:Value、Caption先选中要设置的控件,然后在图五6的区域设置。

找到相关的属性选一个或填入值即可。

Label控件可以用来显示一些文字,如你的名字。

设置Caption属性CommandButton控件是个按钮,用户按下后会执行一些代码,设置Caption属性可以在控件上显示一些文字,用来说明这个按钮有什么用。

CheckBox控件是用来作开关用的。

设置Caption属性,写入说明文字让使用者知道这个开关有什么作用。

设置Value属性为Checked,让程序起动时它就是开的。

下图是设计好的图片图七、八:设计好界面后就可以双击(窗体上的)CommandButton控件产生一个Click事件Private Sub Command1_Click()自定义代码区End Sub见图九:在Click事件的自定代码区写入我们的代码,当程序运行时,用户按下按钮就会执行自定义代码区的代码。

以下是我写的代码:Private Sub Command1_Click()Dim temp1 As LongDim temp2 As LongDim hwnd As LongDim hOK As LongDim ID As Long '声明变量hwnd = FindWindow("CVGS Double-Secret-Probation Mutex", vbNullString) '获得VGS的窗口句柄,并将句柄保存在hwnd变量中If hwnd = False Then '测试hwnd变量,如果VGS没有起动MsgBox ("VGS没有打开") '则提示用户打开程序MsgBox()这个函数的作用是弹出一个小窗口显示""中的字符Exit Sub '退出Click事件ElseGetWindowThreadProcessId hwnd, ID '获得VGS进程的ID,并保存在ID变量中hOK = OpenProcess(PROCESS_ALL_ACCESS, 0, ID) '以获得编辑VGS进程的全部权限,反OpenProcess函数将反回一个值并保存在hOK变量中If hOK = 0 Then '测试有没有获得修改权限MsgBox ("没有找开修改权限")Exit SubElse '如果获得修改权限将执行以下代码'开关1If Check1.Value = Checked Then '如果Check1被打开,则执行下面的语句Dim a1 As Long, a2 As Long, b1 As Long, b2 As Long '声明变量Dim c1 As Long, c2 As Long, d1 As Long, d2 As Long '声明变量a1 = &H404D7BA '将地址404D7BA存入变量a1,加&H表示404D7BA是个十六的数值a2 = &H404D7BCb1 = &H404D9B2b2 = &H404D9B4c1 = &H404DABAc2 = &H404DABCd1 = &H404D90Ad2 = &H404D90Ctemp1 = &H9temp2 = &H1Dim i As IntegerFor i = 1 To 27WriteProcessMemory hOK, ByVal a1, temp1, 1, 0a1 = a1 + &HCWriteProcessMemory hOK, ByVal a2, temp2, 1, 0 a2 = a2 + &HCNext iFor i = 1 To 20WriteProcessMemory hOK, ByVal b1, temp1, 1, 0 b1 = b1 + &HCWriteProcessMemory hOK, ByVal b2, temp2, 1, 0 b2 = b2 + &HCNext iFor i = 1 To 25WriteProcessMemory hOK, ByVal c1, temp1, 1, 0 c1 = c1 + &HCWriteProcessMemory hOK, ByVal c2, temp2, 1, 0 c2 = c2 + &HCNext iFor i = 1 To 12WriteProcessMemory hOK, ByVal d1, temp1, 1, 0 d1 = d1 + &HCWriteProcessMemory hOK, ByVal d2, temp2, 1, 0 d2 = d2 + &HCNext iEnd If'开关2If Check2.Value = Checked ThenDim a001 As Long, a002 As Long, a003 As Long Dim b001 As Long, b002 As Long, b003 As Long Dim c001 As Long, c002 As Long, c003 As Long a001 = &H406A514a002 = &H406A548a003 = &H406A57Cb001 = &H406A5ACb002 = &H406A5E4b003 = &H406A618c001 = &H406A64Cc002 = &H406A680c003 = &H406A6B4temp1 = &HAtemp2 = &HBWriteProcessMemory hOK, ByVal a001, temp2, 1, 0 WriteProcessMemory hOK, ByVal a002, temp1, 1, 0 WriteProcessMemory hOK, ByVal a003, temp1, 1, 0 WriteProcessMemory hOK, ByVal b001, temp2, 1, 0 WriteProcessMemory hOK, ByVal b002, temp1, 1, 0 WriteProcessMemory hOK, ByVal b003, temp1, 1, 0 WriteProcessMemory hOK, ByVal c001, temp2, 1, 0 WriteProcessMemory hOK, ByVal c002, temp1, 1, 0 WriteProcessMemory hOK, ByVal c003, temp1, 1, 0End IfMsgBox ("complete!")End IfEnd IfCloseHandle (hOK)End Sub写完上面的代码(或你自己的代码)后就可以编译生成程序,选"文件->生成***.EXE" 然后运行试试。

相关文档
最新文档