按键精灵的事件子程序

Posted in 按键精灵

一、脚本载入事件子程序(onscriptload)

Sub onscriptload()
    MessageBox "脚本载入配置完成"
End Sub

二、脚本停止事件子程序(onscriptexit)

Sub onscriptexit()
    MessageBox "脚本已经停止"
End Sub

三、线程停止事件子程序(onthreadexit)

Global 线程ID1,线程ID2
线程ID1=BeginThread(子线程1)
线程ID2=BeginThread(子线程2)
Sub 子线程1()
    TracePrint "子线程1被启动"
End Sub
Sub 子线程2()
    TracePrint "子线程2被启动"
End Sub
Sub onthreadexit()
    Dim threadID
    threadID = GetThreadID()
    Select Case threadID
    Case 线程ID1
        TracePrint "线程1("&线程ID1&")已经停止"
    Case 线程ID2
        TracePrint "线程2("&线程ID2&")已经停止"
    End Select	
End Sub

按键精灵的多线程

Posted in 按键精灵

一、启动线程(BeginThread)

线程ID=BeginThread(子线程)
TracePrint "线程ID=" & 线程ID
Do
    TracePrint "我是主程序"
    Delay 1000
loop
Sub 子线程()
    Do
        TracePrint "我是子线程"
        Delay 1000
    loop
End Sub

二、暂停和恢复线程(PauseThread/ContinueThread)

线程ID=BeginThread(子线程)
TracePrint "线程ID=" & 线程ID
Delay 5000
PauseThread 线程ID
TracePrint "暂停线程"
Delay 5000
ContinueThread 线程ID
TracePrint "恢复线程"
Delay 10000
Do
    TracePrint "我是主程序"
    Delay 1000
loop
Sub 子线程()
    Do
        TracePrint "我是子线程"
        Delay 1000
    loop
End Sub

三、停止线程(StopThread)

线程ID=BeginThread(测试)
For 3
	Delay 1000
Next
StopThread 线程ID

Sub 测试
i=0
	
	Do 
	TracePrint "i="&i
	i = i + 1
	Delay 1000
	loop
End Sub

四、全局变量

Dim a
Global b
a = 1
b = 2
线程ID = BeginThread(测试)
Delay 1000
TracePrint "主脚本中a=" & a
TracePrint "主脚本中b=" & b

Sub 测试()
TracePrint "子线程中a=" & a
TracePrint "子线程中b=" & b	
End Sub

按键精灵的加解密插件(Encrypt)

Posted in 按键精灵

一、加密字符串

TextMD5=plugin.Encrypt.Md5String("按键精灵")
TracePrint "TextMD5=" &TextMD5

二、获取文件MD5值

FileMD5=plugin.Encrypt.Md5File("C:\Sound26.mp3")
TracePrint "FileMD5=" & FileMD5

按键精灵的多媒体插件(Media)

Posted in 按键精灵

一、让主板蜂鸣器报警

Call Plugin.Media.Beep(578, 1200)

二、播放/停止音频文件

Call plugin.Media.Play("C:\Sound26.mp3")
Delay 5000
Call plugin.media.Stop()

按键精灵的信息提示插件(Msg)

Posted in 按键精灵

一、在屏幕中显示文字(ShowScrTXT)

Call plugin.msg.ShowScrTXT(700,300,1024,900,"屏幕打字","00ee00")
Delay 3000
Call plugin.msg.HideScrTXT()

二、托盘提示信息(Tips)

Call plugin.msg.tips("脚本开始运行")

按键精灵的系统插件(Sys)

Posted in 按键精灵

一、得到/设置屏幕分辨率和色深

screenX = Plugin.sys.GetScRX()
screenY = Plugin.sys.GetScRY()
Dep=plugin.sys.GetScDep()
TracePrint screenX
TracePrint screenY
TracePrint Dep
Call Plugin.sys.SetSc(1024,768,16)

二、获取系统运行时间

KeyPress "F2", 1
time1 = Plugin.sys.GetTime()
Do
    time2 = Plugin.sys.GetTime()
    If time2 - time1 >= 10000 Then 
        TracePrint "冷却时间到"
        KeyPress "F2", 1
        time1 = Plugin.sys.GetTime()
    Else 
        TracePrint "冷却时间未到"
        KeyPress "F3", 1
        Delay 1000
    End If
loop

三、获取系统运行时间

银币 = 10000
当前系统时间 = Plugin.sys.GetDateTime()
Call plugin.file.WriteFileEx("C:\记录.txt",当前系统时间&" 银币="&银币)

四、设置/得到剪贴板内容

账号 = "487786133"
Call plugin.sys.SetCLB(账号)
Clipboard = Plugin.sys.GetCLB()
TracePrint Clipboard

五、获取操作系统类型

系统类型 = Plugin.sys.GetOSType()
Select Case 系统类型
Case 0
    MessageBox "您的操作系统版本是:Windows 95/98"
Case 1
    MessageBox "您的操作系统版本是:windows ME/windows NT/windows 2000/windows XP"
Case 2
    MessageBox "您的操作系统版本是:windows 2003"
Case 3
    MessageBox "您的操作系统版本是:windows 2008"
Case 4
    MessageBox "您的操作系统版本是:Windows vista"
Case 5
    MessageBox "您的操作系统版本是:win7"
Case 6
    MessageBox "您的操作系统版本是:windows CE"
Case Else
    MessageBox "无法识别当前系统"
End Select

六、自动关机

While true
    s = Plugin.sys.GetDateTime()
    TracePrint "您的操作系统日期和时间:" & s
    If s="2018-02-24 22:17:00" then
        Call Plugin.sys.ExitOS(0)
    Else 
        Delay 200
    End if
Wend

按键精灵的文件插件(File)

Posted in 按键精灵

一、读写ini配置文件

Call plugin.file.WriteINI("补血配置","HP","80","C:\补血.ini")
text=plugin.file.ReadINI("补血配置","HP","C:\补血.ini")
TracePrint text

二、读写记事本

Call plugin.file.WriteFileEx("C:\测试.txt","大家好")
Call plugin.file.WriteFileEx("C:\测试.txt","我是信义之树")
Call plugin.file.WriteFileEx("C:\测试.txt","欢迎来到我的网站")
text=plugin.file.ReadFileEx("C:\测试.txt")
TracePrint text
MyArray=split(text,"|")
For i = 0 To UBound(MyArray) - 1
    TracePrint "第"&(i+1)&"行的内容为:"&MyArray(i)
Next

三、复制、重命名、移动、删除文件

Call plugin.file.CopyFile("C:\测试.txt","C:\测试2.txt")
Call plugin.file.ReNameFile("C:\测试.txt","C:\测试3.txt")
Call plugin.file.DeleteFile("C:\测试2.txt")
Call plugin.file.MoveFile("C:\测试3.txt","Y:\测试.txt")

四、弹出选择文件/文件夹对话框

path=plugin.file.SelectFile()
TracePrint path
path=plugin.file.SelectDirectory()
TracePrint path

五、办公文档插件(Office)

Call plugin.office.OpenXls("C:\测试.xls")
Call plugin.office.WriteXls(1,5,3,"信义之树")
text=plugin.office.ReadXls(1,5,3)
TracePrint text
Call plugin.office.CloseXls()

按键精灵的颜色插件(Color)

Posted in 按键精灵

一、颜色插件相关的命令
1、GetPixelColor得到指定点颜色

GetCursorPos x,y
getcolor = Plugin.color.GetPixelColor(x,y,0)
TracePrint getcolor

2、ColorToRGB颜色转RGB

Call plugin.Color.ColorToRGB("D8D8D8",R,G,B)
TracePrint "红色:"&R
TracePrint "绿色:"&G
TracePrint "蓝色:"&B

3、CountColor区域搜索颜色数量

num = Plugin.Color.CountColor(0, 0, 024, 768, "FFFFFF", 1)
TracePrint "颜色""FFFFFF""数量为:" & num

二、制作比IfColor通用性更好的补血脚本

Hwnd = Plugin.window.MousePoint()
TracePrint Hwnd
While true
    srect = Plugin.window.GetClientRect(hwnd)
    TracePrint srect
    MyArray=split(srect,"|")
    x=MyArray(0)
    y=MyArray(1)
    l=MyArray(2)
    h=MyArray(3)
    TracePrint x&","&y&","&l&","&h
    Hpx = x+238   //血条80%血量位置
    Hpy = y+45
    getcolor=plugin.color.GetPixelColor(Hpx,Hpy,0)    //获取血条80%血量位置颜色
    TracePrint getcolor
    Call Plugin.Color.ColorToRGB(getcolor, R, G, B)
    TracePrint R&"," &G&"," &B
    If R > 201 and R < 231 and G > 201 and G < 231 and B > 201 and B < 231 Then 
        KeyPress "Q",1  
    End If   
    Delay 200   
Wend

三、用多点找色代替找图命令(FindMutiColor)

XY=Plugin.Color.FindMutiColor(0,0,200,897,"9B6837","1|3|FFFFFF,4|3|684524,10|7|FFFFFF,15|11|FFFFFF,17|5|342312,20|4|49311A,21|10|FFFFFF,24|5|FFFFFF,27|6|FFFFFF,34|6|FFFFFF",1)
dim MyArray
MyArray = Split(XY, "|")
X = CInt(MyArray(0)) : Y = CInt(MyArray(1))
If X >= 0 and Y >= 0 Then 
    MoveTo X, Y
    Delay 200
    LeftClick 2
End If

四、颜色增强插件(ColorEx)

Call Plugin.ColorEx.PrintScreen(0,0,1440,900)
XY=Plugin.Color.FindMutiColor(0,0,200,897,"9B6837","1|3|FFFFFF,4|3|684524,10|7|FFFFFF,15|11|FFFFFF,17|5|342312,20|4|49311A,21|10|FFFFFF,24|5|FFFFFF,27|6|FFFFFF,34|6|FFFFFF",1)
dim MyArray
MyArray = Split(XY, "|")
X = CInt(MyArray(0)) : Y = CInt(MyArray(1))
If X >= 0 and Y >= 0 Then 
    MoveTo X, Y
    Delay 200
    LeftClick 2
End If
Call plugin.ColorEx.Free ()

按键精灵的后台插件(Bkgnd)

Posted in 按键精灵

用脚本实现在记事本输入“hello”,然后输入“按键精灵”,最后把光标停留在“hello”和“按键精灵”之间。

hwnd = Plugin.window.mousepoint()
TracePrint "查找到的记事本窗口句柄为:"&hwnd
Call plugin.bkgnd.keypress(hwnd,72)
Call plugin.bkgnd.keypress(hwnd,69)
Call plugin.bkgnd.keypress(hwnd,76)
Call plugin.bkgnd.keypress(hwnd,76)
Call plugin.bkgnd.keypress(hwnd,79)
Call plugin.bkgnd.SendString(hwnd,"按键精灵")
Call plugin.bkgnd.MoveTo(hwnd,39,10)
Call plugin.bkgnd.leftclick(hwnd,39,10)

按键精灵的窗口插件

Posted in 按键精灵

一、获取窗口句柄
1、查找指定窗口句柄命令(Find)

Hwnd=plugin.window.Find(0,"无标题 - 记事本")
TracePrint Hwnd

2、查找子窗口句柄命令(FindEx)

Hwnd = plugin.window.Find(0,"无标题 - 记事本")
TracePrint "主窗口句柄Hwnd="&Hwnd
HwndEx1 = plugin.window.FindEx(Hwnd,0,"Edit",0)
TracePrint "查找到的子窗口句柄为:"&HwndEx1

3、遍历窗口句柄命令(Search)

HwndEx = plugin.window.Search("无标题 - 记事本")
TracePrint HwndEx
MyArray = Split(HwndEx,"|")
If Ubound(MyArray) >= 0 Then 
    For i = 0 To Ubound(MyArray)-1
        TracePrint "第"&(i+1)&"个窗口句柄为:"&MyArray(i)	
    Next	
End If

4、遍历窗口句柄增强命令(Search)

HwndEx = plugin.window.SearchEx(0,"无标题 - 记事本",0)
TracePrint HwndEx
MyArray = Split(HwndEx,"|")
If Ubound(MyArray) >= 0 Then 
    For i = 0 To Ubound(MyArray)-1
        TracePrint "第"&(i+1)&"个窗口句柄为:"&MyArray(i)	
    Next	
End If

5、得到当前窗口的句柄命令(Foreground)

hwnd = Plugin.window.foreground()
TracePrint hwnd

6、得到鼠标指向窗口的句柄命令(MousePoint)

hwnd = Plugin.window.mousepoint()
TracePrint hwnd

7、得到可以发送按键消息的窗口句柄命令(GetKeyFocusWnd)

hwnd=plugin.window.getkeyfocuswnd()
TracePrint hwnd

二、窗口移动后仍然可以补血的脚本

打开按键精灵脚本实验室网游自动加血网页:http://zy.anjian.com/lab/content_02.html
可移动窗口自动加血脚本如下:

Hwnd = Plugin.window.MousePoint()
TracePrint Hwnd
While true
    srect = Plugin.window.GetClientRect(hwnd)
    TracePrint srect
    MyArray=split(srect,"|")
    x=MyArray(0)
    y=MyArray(1)
    l=MyArray(2)
    h=MyArray(3)
    TracePrint x&","&y&","&l&","&h
    Hpx = x+238   //血条80%血量位置
    Hpy = y+45
    TracePrint GetPixelColor(Hpx,Hpy)    //获取血条80%血量位置颜色
    IfColor Hpx, Hpy, "D8D8D8", 0 Then    //如果血量低于80%,就按Q键加血
        KeyPress "Q",1    
    End If
    Delay 200	
Wend

按键精灵的找图找色命令

Posted in 按键精灵

一、得到指定点颜色(GetPixelColor)

GetColor=GetPixelColor(8,26)
If GetColor = "3936FF" Then 
    MoveTo 8, 26
End If

二、区域找色

FindColor 0,0,1440,900,"3936FF",intX,intY
If intX >= 0 and intY >= 0 Then 
	MessageBox "找到"
	TracePrint intX&","&intY
End If

三、模糊找色

FindColorEx 0,0,100,100,"3936FF",0,0.9,intX,intY
If intX >= 0 and intY >= 0 Then 
	MessageBox "找到"
	TracePrint intX&","&intY
End If

四、中心找色

FindCenterColor 0,0,100,100,"3936FF",intX,intY
If intX >= 0 and intY >= 0 Then 
	MessageBox "找到"
	TracePrint intX&","&intY
End If

五、区域找图

FindPic 4, 316, 84, 412, "attachment:\回收站.bmp", 0.9, intX, intY
If intX >= 0 and intY >= 0 Then 
    MessageBox "找到"
    MoveTo intX, intY
    LeftDoubleClick  1
    TracePrint intX & "," & intY	
End If

按键精灵的数组

Posted in 按键精灵

一、一维数组

Dim 道具栏(5)    //定义有6个元素的数组
道具栏(0)="小红药"
道具栏(1)="大红药"
道具栏(2)="小蓝药"
道具栏(3)="大蓝药"
道具栏(4)="屠龙刀"
道具栏(5)="倚天剑"
TracePrint ubound(道具栏)  //数组最大下标
TracePrint lbound(道具栏)   //数组最小下标
For i = 0 To ubound(道具栏)    //数组的遍历
    TracePrint "道具栏("&i&")="&道具栏(i)
Next

运行结果:

第8行:5
第9行:0
第11行:道具栏(0)=小红药
第11行:道具栏(1)=大红药
第11行:道具栏(2)=小蓝药
第11行:道具栏(3)=大蓝药
第11行:道具栏(4)=屠龙刀
第11行:道具栏(5)=倚天剑

二、数组的复制

Dim a(2)
a(0) = 11
a(1) = 20
a(2) = 123
Dim b
b = a
TracePrint b(0)
TracePrint b(1)
TracePrint b(2)

运行结果:

第7行:11
第8行:20
第9行:123

三、多维数组

dim 包裹(4,5)
For i = 0 To ubound(包裹, 1)
    For j = 0 To ubound(包裹, 2)
        //TracePrint 407+113*i
        //TracePrint 267 + 95 * j
        //TracePrint GetPixelColor( 407+113*i,267+95*j)
        IfColor  407+113*j,267+95*i,"000000",0 then
            包裹(i,j)="没东西"
        Else 
            包裹(i,j)="有东西"
        End if
        TracePrint  "包裹......第"&(i+1)&"行,第"&(j+1)&"列......"&包裹(i,j)
    Next	
Next

运行结果:

第12行:包裹......第1行,第1列......没东西
第12行:包裹......第1行,第2列......有东西
第12行:包裹......第1行,第3列......没东西
第12行:包裹......第1行,第4列......没东西
第12行:包裹......第1行,第5列......没东西
第12行:包裹......第1行,第6列......没东西
第12行:包裹......第2行,第1列......没东西
第12行:包裹......第2行,第2列......没东西
第12行:包裹......第2行,第3列......没东西
第12行:包裹......第2行,第4列......有东西
第12行:包裹......第2行,第5列......没东西
第12行:包裹......第2行,第6列......没东西
第12行:包裹......第3行,第1列......没东西
第12行:包裹......第3行,第2列......有东西
第12行:包裹......第3行,第3列......有东西
第12行:包裹......第3行,第4列......有东西
第12行:包裹......第3行,第5列......有东西
第12行:包裹......第3行,第6列......没东西
第12行:包裹......第4行,第1列......没东西
第12行:包裹......第4行,第2列......有东西
第12行:包裹......第4行,第3列......有东西
第12行:包裹......第4行,第4列......没东西
第12行:包裹......第4行,第5列......没东西
第12行:包裹......第4行,第6列......有东西
第12行:包裹......第5行,第1列......没东西
第12行:包裹......第5行,第2列......没东西
第12行:包裹......第5行,第3列......没东西
第12行:包裹......第5行,第4列......没东西
第12行:包裹......第5行,第5列......没东西
第12行:包裹......第5行,第6列......没东西

四、传递数组参数

Dim a(2)
a(0) = 1
a(1) = 2
a(2) = 3
Call 数组传递(a)
Function 数组传递(b)
    TracePrint "a(0)="&b(0)
    TracePrint "a(1)="&b(1)
    TracePrint "a(2)="&b(2)
End Function

运行结果:

第7行:a(0)=1
第8行:a(1)=2
第9行:a(2)=3

五、求对角线之和

Dim a(2,2)
n=1
For i = 0 To 2
    For j = 0 To 2
        a(i,j)=n
        n=n+1
        TracePrint a(i,j)
    Next	
Next
TracePrint a(0,0)+a(0,2)+a(1,1)+a(2,0)+a(2,2)

运行结果:

第7行:1
第7行:2
第7行:3
第7行:4
第7行:5
第7行:6
第7行:7
第7行:8
第7行:9
第10行:25

按键精灵的子程序(Sub)和函数(Function)

Posted in 按键精灵

一、子程序

x = 1
y = 2
TracePrint "主脚本中,实参x=:"&x
TracePrint "主脚本中,实参y=:" & y
call 交换变量的值(x, y)
Sub 交换变量的值(a, b)
    z = a
    a = b
    b = z
    TracePrint "交换后形参a=:"&a
    TracePrint "交换后形参b=:"&b
    TracePrint "交换后变量z=:"&z
    TracePrint "交换后实参x=:"&x
    TracePrint "交换后实参y=:"&y
End Sub

运行结果:

第3行:主脚本中,实参x=:1
第4行:主脚本中,实参y=:2
第10行:交换后形参a=:2
第11行:交换后形参b=:1
第12行:交换后变量z=:1
第13行:交换后实参x=:1
第14行:交换后实参y=:2

二、函数

c=加法(1,2)
TracePrint c
Function 加法(a, b)
	加法=a+b
End Function

运行结果:

第2行:3

按键精灵的中断和重启脚本命令

Posted in 按键精灵

中断脚本命令:

BeginThread 线程
Delay 1000   //延时1秒内,线程的循环运行5次
ExitScript  //ExitScript结束整个脚本,包括线程,如果用EndScript则仅结束主脚本,线程还将继续运行
TracePrint "主"
Sub 线程
    i=1
    Do 
        TracePrint "线程"&i
        i = i + 1
        Delay 200
    loop
End Sub

重启脚本命令:

For i = 0 To 2
    Delay 1000
    TracePrint "内容"&i
Next
RestartScript   //重新启动脚本
TracePrint "重启脚本"

按键精灵的循环语句

Posted in 按键精灵

一、for循环

For i = 1 To 6 Step 2
	TracePrint i	
Next

二、前测型Do循环
脚本一:

a=99
Do While a = 99
    a = 11
    TracePrint a
Loop

脚本二、

a=55
Do Until a = 99
    a = 99
    TracePrint a
Loop

三、后侧型Do循环

a=0
Do 
	TracePrint a
	a=a+1
Loop while a < 3

四、While循环

a=0
while a < 6
	TracePrint a
	a=a+1
wend 

按键精灵的情况选择(Select Case)语句

Posted in 按键精灵

脚本一:

UserVar 服务器="电信2" "请输入服务器名称"
Select Case 服务器
Case "电信1"
    msgbox "你选择的是电信1服务器" 
Case "电信2"
    msgbox "你选择的是电信2服务器" 
Case "电信3"
    msgbox "你选择的是电信3服务器"
case Else 
    msgbox "你选择的服务器不在编号内" 
End Select

脚本二:

编号 = 2
Select Case 编号
	Case 1, 2
	MsgBox "你的编号是1或2"
	Case 3
	MsgBox "你的编号是3"
	Case else
	MsgBox "无此编号"
End Select

按键精灵的颜色判断(IfColor)语句

Posted in 按键精灵

打开按键精灵脚本实验室网游自动加血网页:http://zy.anjian.com/lab/content_02.html
自动加血脚本如下,脚本需设置成不断循环:

Hpx = 685   //血条80%血量位置
Hpy = 388
TracePrint GetPixelColor(685,388)    //获取血条80%血量位置颜色
IfColor Hpx, Hpy, "D8D8D8", 0 Then    //如果血量低于80%,就按Q键加血
	KeyPress "Q",1	  
End If
Delay 200

按键精灵的鼠标命令

Posted in 按键精灵

一、鼠标移动

MoveTo 100, 200 //鼠标移动到(100,200)位置
MoveTo -1,-1  //坐标为负数时,鼠标将维持在(0,0)位置

二、鼠标相对移动

MoveR 100,200  //鼠标相对当前位置移动(100,200)
MoveR -100,0  //鼠标向左移动100个像素

三、鼠标点击

LeftClick 10  //鼠标左键单击10次
RightClick 10 //鼠标右键单击10次
MiddleClick 10  //鼠标中键单击10次
LeftDown 1 //鼠标左键按下1次
LeftUp 1 //鼠标左键弹起1次
RightDown 1 //鼠标右键按下1次
RightUp 1 //鼠标右键弹起1次
LeftDoubleClick 1 //鼠标左键双击1次

四、滚动鼠标滚轮

MouseWheel 1 //鼠标向上滚动1个单位
MouseWheel -1 //鼠标向下滚动1个单位

五、保存和恢复鼠标位置

SaveMousePos   //保存鼠标当前位置
Delay 3000  //3秒内任意移动鼠标位置
RestoreMousePos  //恢复到之前保存的位置

六、锁定和解锁鼠标位置
锁定鼠标位置鼠标不能移动,但还是可以点击。

LockMouse //锁定鼠标位置
UnlockMouse //解除鼠标锁定

七、获取鼠标位置

GetCursorPos mx, my  //把鼠标当前位置的横纵坐标分别保存在变量mx,my中

八、等待按任意鼠标键继续
执行此命令后,脚本暂停运行,待检测到鼠标任意按键点击、按下、弹起、滚动动作后继续。

waitclickid = WaitClick()

九、检测上次按过的鼠标代码

变量=GetLastClick()

十、得到鼠标形状特征码

shape0=getcursorshape(0) //用计算方法0计算鼠标特征码
shape1=getcursorshape(1) //用计算方法1计算鼠标特征码

十一、在画图板中自动拖出矩形框

moveto 463,66 //鼠标移动到画图板矩形框图标上,坐标位置需根据所用电脑用按键抓抓现取
Delay 200
LeftClick 1 //单击矩形框图标准备画矩形

moveto 109,277  //鼠标移动到画板区域
Delay 200
LeftDown 1   //模拟画矩形方式,鼠标左键按下
Delay 200
MoveR 99, 49  //相对移动99,49像素,起始点占用一个像素
Delay 200
LeftUp 1   //画完之后鼠标左键弹起

在画图板里测试运行结果。

按键精灵的键盘命令

Posted in 按键精灵

一、按键

KeyPress "k", 1   //按“K”键1次
KeyPress "K", 100  //按“K”键100次
KeyPress 65,1 //按“A”键1次
KeyPress "Shift",1 //按“Shift”键1次
SayString "K"  //输出字符“K”
SayString 789 mod 56 //输出表达式

在记事本里测试运行结果。

二、制作拳皇必杀技脚本

KeyPress 39, 1  //按“→”键一次
Delay 200
KeyPress 40, 1  //按“↓”键一次
Delay 200
KeyPress 37, 1  //按“←”键一次
Delay 200
KeyPress 68, 1  //按“D”键一次

在游戏里测试运行结果。

三、组合键
输入@符号:

KeyDown 16, 1 //按下“Shift”键
Delay 200
KeyPress 50, 1 //按下“2”键
Delay 200
KeyUp 16, 1 //弹起“Shift”键

在记事本里测试运行结果。

四、按键模拟方式

SetSimMode 0 //普通模拟方式
SetSimMode 1 //硬件模拟方式,需要圆口键盘、鼠标的支持
SetSimMode 2 //超级模拟方式

向电脑发送“Ctrl+Alt+Delete”命令:

SetSimMode 2
KeyDown 17, 1
Delay 200
KeyDown 18, 1
Delay 200
KeyPress 46, 1
Delay 200
KeyUp 17, 1
Delay 200
KeyUp  18, 1

按键精灵的运算符和表达式

Posted in 按键精灵

一、算数运算符和算数表达式

TracePrint (1 + 2) * 3 / 4 '加乘除运算
TracePrint (100-59)/(200+3) '加减除运算
TracePrint 789 mod 56 '取余运算
TracePrint 7^9 '幂运算
TracePrint 234\65 '整除运算

运行结果:

第1行:2.25
第2行:.201970443349754
第3行:5
第4行:40353607
第5行:3

二、关系运算符和关系表达式

TracePrint 2 > 1
TracePrint "5" > "6"
TracePrint 7<>8
TracePrint 6>=0

运行结果:

第1行:-1
第2行:0
第3行:-1
第4行:-1

三、逻辑运算符和逻辑表达式

TracePrint (6>=0) and (5<7)
TracePrint (6<=0) or (5>7)
TracePrint Not(3>4)

运行结果:

第1行:-1
第2行:0
第3行:-1

按键精灵的数据类型

Posted in 按键精灵

一、数据类型的种类

1、数值类型

数值类型名称 表示数据 取值范围
Integer 整数 -32768~32767
Long 长整数 -2147483648~2147483647
Single 单精度浮点数 -3.40E+38~+3.40E+38
Double 双精度浮点数 -1.79E+308~+1.79E+308

2、字符串类型

A = "你好"
TracePrint A

运行结果:

第2行:你好

3、布尔类型(逻辑类型)
当逻辑型数据转换为整型数据时,True转成“-1”,False转成“0”。当其他数值类型数据转换为逻辑型数据时,0会转成False,而其他的值则变成 True。

TracePrint true
TracePrint false
TracePrint CBool(0)
TracePrint CBool(123)

运行结果:

第1行:-1
第2行:0
第3行:0
第4行:-1

4、货币类型
货币(Currency)数据类型是为表示钱款而设置的,其取值范围为-922337203685477.5808~922337203685477.5807。

5、时间类型

B=#2018-2-10 22:14:55#
TracePrint B

运行结果:

第2行:2018/2/10 22:14:55

6、可变类型
其实在按键精灵里面,定义的变量默认都是可变类型(Variant),在实际运行当中它会根据脚本的上下文自动转换数据类型进行计算。

Dim A
A="100"
A = A - 1
TracePrint A

运行结果:

第4行:99


二、强制转换数据类型
1、小数转整数

a = 12345.678  '整数型
b = CInt(a)
c = 123456.789  '长整数型
d=Clng(c)
TracePrint b
TracePrint d

运行结果:

第5行:12346
第6行:123457

2、字符串转数值
注:字符串必须是一串数字才能转。

A = "123.12344543536"
B = CDbl(A) '转双精度浮点数
TracePrint B
C = "1223456789"
D = CCur(C) '转货币类型
TracePrint D

运行结果:

第3行:123.12344543536
第6行:1223456789

3、数值转字符串

m = 123
n=CStr(m)
TracePrint  n

运行结果:

第3行:123

4、数值转逻辑类型

A = 0
B = CBool(A)
TracePrint B
C = 123
D = CBool(C)
TracePrint D

运行结果:

第3行:0
第6行:-1

按键精灵的常量与变量

Posted in 按键精灵

一、常量
所谓常量就是在脚本运行期间值一直不变的数据,它不能被改变。如果在脚本运行期间试图改变常量的值,程序会提示错误。

Const 信义之树 = "top1"
信义之树 = "top2"
Const 数字 = 123
TracePrint "信义之树=" & 信义之树
TracePrint "数字=" & 数字

运行结果:

第2行:非法赋值: 'V9DAFB790A5D6BF9A4D6A65757378756D', 
第4行:信义之树=top1
第5行:数字=123



二、变量
1、数字累加

Dim 和
和 = 0
TracePrint "第一步和的值为:" & 和
和 = 和 + 1
TracePrint "第二步和的值为:" & 和
和 = 和 +2
TracePrint "第三步和的值为:" & 和
和 = 和 + 3
TracePrint "最终值为:" & 和

运行结果:

第3行:第一步和的值为:0
第5行:第二步和的值为:1
第7行:第三步和的值为:3
第9行:最终值为:6

2、交换两个变量的值

x = 1
y = 2
TracePrint "交换前=====x的值为" & x & ",y的值为" & y
z = x
x = y
y = z
TracePrint "交换后=====x的值为" & x & ",y的值为" & y

运行结果:

第3行:交换前=====x的值为1,y的值为2
第7行:交换后=====x的值为2,y的值为1

Win7 SP1 Ultimate X86 升级版

Posted in win7, 系统封装

系统简介:

这款系统镜像仅仅是使用dism++连接微软官网给cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso原版镜像作了更新和升级,修复漏洞和补丁到2018年1月29日,省去用户安装原版系统后漫长等待更新的时间。更新后比原版镜像大580M。

Win7X86 Ultimate U1

Win7X86 Ultimate U2




免责申明:

本系统仅为封装技术研究交流使用,Windows系统及软件版权属各自产权人所有,作者不承担任何技术及版权问题,请在试用后24小时内删除,如果喜欢请支持购买正版。非法传播或用于商业用途,自负法律责任。如对本系统有任何意见和建议,欢迎反馈给作者。

系统文件信息:

  • 文件名称:cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486_20180131.iso
  • 文件大小:3.05 GB (3283582976 字节)
  • 修改时间:2018年01月31日,17:05:10
  • MD5 :76DAE0737D5120A02D408918A9B710FF
  • SHA1 :75569AEA19286506769CE4262A3EFE95AEA65FA4
  • CRC32 :E89B856E

下载地址:

[zilla_toggle title="如果文章对您有帮助,欢迎打赏作者"] weixin zhifubao
[/zilla_toggle]

Win7 SP1 Ultimate X64 升级版

Posted in win7, 系统封装

系统简介:

这款系统镜像仅仅是使用dism++连接微软官网给cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso原版镜像作了更新和升级,修复漏洞和补丁到2018年1月29日,省去用户安装原版系统后漫长等待更新的时间。更新后比原版镜像大1.38G。

W7X64UltimateU




免责申明:

本系统仅为封装技术研究交流使用,Windows系统及软件版权属各自产权人所有,作者不承担任何技术及版权问题,请在试用后24小时内删除,如果喜欢请支持购买正版。非法传播或用于商业用途,自负法律责任。如对本系统有任何意见和建议,欢迎反馈给作者。

系统文件信息:

  • 文件名称:cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408_20180129.iso
  • 文件大小:4.36 GB (4691460096 字节)
  • 修修改时间:2018年01月29日,21:19:24
  • MD5 :C2819FC0EE9B27F5E542A285A2FA174A
  • SHA1 :82601C02F0BDBBCE5677C1914C660C4E070E822E
  • CRC32 :181F4B03

下载地址:

[zilla_toggle title="如果文章对您有帮助,欢迎打赏作者"] weixin zhifubao
[/zilla_toggle]

Win7 SP1 Pro X86 升级版

Posted in win7, 系统封装

系统简介:

这款系统镜像仅仅是使用dism++连接微软官网给cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_677939.iso原版镜像作了更新和升级,修复漏洞和补丁到2018年1月29日,省去用户安装原版系统后漫长等待更新的时间。更新后比原版镜像大750M。

Win7X86Pro U1

Win7X86Pro U2




免责申明:

本系统仅为封装技术研究交流使用,Windows系统及软件版权属各自产权人所有,作者不承担任何技术及版权问题,请在试用后24小时内删除,如果喜欢请支持购买正版。非法传播或用于商业用途,自负法律责任。如对本系统有任何意见和建议,欢迎反馈给作者。

系统文件信息:

  • 文件名称:cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_677939_20180131.iso
  • 文件大小:3.05 GB (3282599936 字节)
  • 修改时间:2018年01月31日,17:02:56
  • MD5 :2476C7D4A7142B1E4493CAE3C4A955DD
  • SHA1 :2738D4BD4DE2AC26EDA170166D794233D0C72F72
  • CRC32 :D8CF5BCD

下载地址:

[zilla_toggle title="如果文章对您有帮助,欢迎打赏作者"] weixin zhifubao
[/zilla_toggle]