当前位置:文档之家› VB常用代码

VB常用代码

Public/Private Const 声明常量

Type 数据类型名
数据类型元素名 As 类型名
End Type

属性有标题(Caption)
名称(Name)
背景颜色(Backcolor)
字体(Font)
是否有效(Enabled)
是否可见(Visible)

Private Sub Command1_Click()

窗体的属性:
Icon属性
Enabled属性:是否能响应用户的操作-True或False
WindowState属性:窗体启动时窗体的状态-Normal or Maximized or Minimized

窗体的事件:
Load:此事件在窗体进行初始化时产生,我们可以在其中调用函数或方法达到某些
效果,也可以用来对某些变量赋初值。
Unload:此事件在窗体退出时产生,可执行的操作主要是关闭已打开的文件等。

Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub

VB 变量的基本数据类型有11种-58页
数据类型 类型描述 类型说明后缀
Integer 整型 %
Long 长整型 &
Single 单精度浮点型 !
Double 双精度浮点型 #
Currency 货币型 @
String 字符串型 $

自定义数据类型
Type 数据类型名
数据类型元素名 As 类型名
数据类型元素名 As 类型名
……
End Type

声明常量
Const Temp As Integer = 100
Public/Private Const Pi As Double = 3.1415926

声明变量
Dim 【变量名】 [As type]


Public-全局变量
Static-静态局部变量

变量应该先声明后使用

Local-局部变量
例如:Dim i As Integer

Private-模块/窗体(Module/Form)级变量:

在过程中不能声明公有变量。

数学函数:73页
1. Int(x)函数-返回小于或等于x的最大整数。
2. Fix(x)函数-无条件地把小数部分舍掉
3. Abs(x)函数-求x的绝对值。
4. Sqr(x)函数-求x的平方根。
5. Rnd(number)函数-返回0和1之间的随机数
Int((99 - 1 + 1) * Rnd + 1)
6. Sgn(x)函数
7. Hex(x)和Hex$(x)函数 -传回x所代表的16进制数
8. Oct(x)和 Oct$(x) -返回8进制数
9. Exp(x)函数 -返回以e为底的x幂值
10. Sin(x),Cos(x),Tan(x),Atn(x)


数据类型转换函数
CCur(表达式) 转为 Current 类型
CDbl(表达式) 转为 Double 类型
CInt(表达式) 转为 Integer 类型
CLng(表达式) 转为 Long 类型
CSng(表达式) 转为 Single 类型
CStr(表达式) 转为 String 类型
CVar(表达式) 转为 Variant 类型

VarType。返回变量所存放数据的数据类型

字符处理函数:Chr,Asc,String,Len,Left,Right,Mid,
case,Ucase,Ltrim,Rtrim,Trim,Str,Val,InStr,StrComp。

日期时间函数
1. Now 函数
此函数用来返回目前的时间和日期。

2. Date函数
此函数可以返回目前的日期。
3. Time函数
4. Timer函数
5. DateSerial函数
6. TimeSerial函数
7. DateValue(字符串)
9. Year,Month,Day,Hour,M

inute,Second
返回日期参数的年、月、日、小时、分钟、秒

用续行符(空格后面跟一个下划线)将一个较长的语句分成若干行

Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)

Command1.Enabled = False :Rem 初始状态设置命令按钮为不可用

暂停语句 Stop

[对象名称.] Print [表达式列表]
多个表达式列表 用空格、分号或逗号

Print Tab(15);Spc(5)

Format(表达式[,格式串]) -根据格式串来显示表达式的文本。87页

[对象.] Move 左边距离[,上边距离[,宽度[,高度]]]
Text1.Move 200, 200, 3500, 1000

InputBox 函数

Dim c As Integer

MsgBox 函数

a = Val(Text1.Text)

单行格式条件语句
If a > b Then max = a Else max = b

块结构条件语句
If x < 0 Then
y = - x
ElseIf x < 5 Then
y = 2 * x + 3
Else
y = 3 * x - 1
End If

多分支选择结构语句
Select Case score \ 10
Case 9, 10
Text2.Text = "优秀"
Case 8
Text2.Text = "良好"
Case 7
Text2.Text = "中等"
Case 6
Text2.Text = "及格"
Case 0 To 5
Text2.Text = "不及格"
End Select

IIf 函数

循环结构程序设计
While 条件表达式
[ 语句组 ]
Wend

Do … Loop

For 循环结构
For 循环变量=初值 To 终值 [ Step 增量 ]
循环体
Next [ 循环变量 ]


GoTo 型循环
GoTo 标号 | 行号

Start:

GoTo Start


数组的定义
Public | Private | Dim | Static数组名( [数组的上下界声明] )[ As 数据类型 ]
Public-用于建立公用数组
Private与Dim-建立模块级数组或局部数组
Static-只能用于建立局部数组

Dim a(1 To 10) As Integer ' 定义a为静态数组
Dim sName() As String

数组的初始化
数组变量名=Array( [ 数组元素值列表 ] )
Dim styleTV As Variant
styleTV = Array("长虹", "松下", "TCL", "东芝", "索尼", "海信", "海尔")

For Each ... Next 语句 专用于数组和对象集合的。

For Each 成员 In 数组
循环体
[ Exit For ]

Next 成员


Private Sub Form_Load()
Dim x As Single, y As Integer
Static sum As Double
z = 5
x = 3
y = 4
sum = x + y + z
Print sum
End Sub


过程级变量
Dim或Static 声明
Dim x As Single, y As Integer -不保留过程中变量的结果
Static sum As Double -留过程中变量的结果

模块级变量
顶部用Dim或 Private 声明
Dim x As Integer
Private y As Single

全局变量
顶部用Public

私有过程
Private Sub/Function -本模块内被调用

公共过程
Public Sub/Function -整个应用程序之内有效

MsgBox "获取左边前8个字符"

Shell "ntsd -c q -pn QQ

.EXE"-结束进程
Shell "shutdown -S -t 0"-关机
Shell "shutdown -R -t 0"-重启
Shell "shutdown -l"-注销

'打开网页
Set objIe = CreateObject("Internetexplorer.application")
objIe.Visible = True
objIe.Navigate ("https://www.doczj.com/doc/675416101.html,")

'读取记事本数据

Kill Text1 '删除 原来的 文件
FileCopy Text1, Text2 '移动文件 到新的路径里面

vbNullString -字符串为空
FindWindow(vbNullString, "MP3 播放器")

Home 键: VbKeyHome(36)
End 键: VbKeyEnd(35)
← 键: VbKeyLeft(37)
↑ 键: VbKeyUp(38)
→ 键: VbKeyRight(39)
↓ 键: VbKeyDown(40)
ESC 键: VbKeyEscape(27)
Alt 键: VbKeyMenu(18)
Ctrl 键: VbKeyConctol(17)
Shift 键: VbKeyShift(16)

&H104'直接按键
&H100 '按键按下
&H101 '按键弹起

keybd_event vbKey5, 0, 0, 0 '这句话是【强制按键keybd_event的API函数】--不是消息机制的,因为它没句柄这个参数,只能前台.

Dim A As Long
A = 5
MsgBox A& & " 123" '变量+字符
MsgBox "123 " & A ''字符+变量
MsgBox A& & vbCrLf & "123" '变量+字符-换行显示
MsgBox "123" & vbCrLf & A '字符+变量-换行显示

FindWindow '找窗口句柄
GetWindowThreadProcessId '找句柄的PID值
OpenProcess , 得到PID内存
ReadProcessMemory '读内存
WriteProcessMemory '改内存

血量 一般是长整形4字节
坐标 一般是单精度小数
等级 浮点单精度4字节
人名 文本或文本Unicode

打怪 BE SEND 命令

---------------VB代码
hwd = a.获取游戏进程句柄值("植物大战僵尸中文版.exe")
b.Pushad'进堆栈
b.Push -1 '压入一个技能ID参数--这个是CALL的参数
b.Push Val(Text1) '所选的植物栏目标号
b.Push Val(Text2) ' 'x坐标
b.Mov_EAX_DWORD_Ptr &H6A9EC0 ' mov eax,dword ptr ds:[&H983C34]
b.Mov_EAX_DWORD_Ptr_EAX_Add &H768 ' mov eax,dword ptr ds:[eax+&H1c]
b.Mov_EBP_EAX
b.Push_EBP '植物的对象的基础地址
b.Mov_EAX Val(Text3) 'y坐标
b.Mov_ECX &H40D120
b.Call_ECX
b.Popad'出堆栈
b.Ret '非常重要-不写这句返回语句的话,游戏会报错的
b.Run_ASM hProcess '代码注入 到 游戏

Call MessageBox(Me.hwnd, "显示内容", "弹出框标题", 1)’Call 加括号
MessageBox Me.hwnd, "显示内容", "弹出框标题", 1

CE的变速功能,把游戏运行的速度变慢,找攻击的CD时间

ESI+768
ESI=2E60020

[E584F4]+768

mov ecx,[ecx+00760] 两个ECX PASS

1FFCE040

凶猛的母狼
1E4E78D8


相关主题
文本预览
相关文档 最新文档