- 定义常量 forreading = 1
- 定义常量 forwriting = 2
- 定义常量 forappending = 8
- 定义变量 objShell
- 定义变量 MyArray, Rx, Ry
- 定义变量 KeyYouPress
- 令 objShell = CreateObject("WScript.Shell")
- 注释:DirPath = objShell.SpecialFolders.Item("DeskTop")
- 令 DirPath = "E:\特征码"
- 令 MsgStr = "按 Esc 键退出键码测试"
- 令 MsgStr = MsgStr & vbCrlf & "按 F1 键进行特征码抓取"
- 令 MsgStr = MsgStr & vbCrlf & "按 F2 键进行特征码验证"
- 令 MsgStr = MsgStr & vbCrlf & "按 F3 键进行按键码值测试"
- 循环当 true 时
- 弹出窗口 MsgStr
- 令 KeyYouPress = (键盘)等待按任意键
- 如果 KeyYouPress = 27 则
- 弹出窗口 "退出主程序!"
- 跳出循环
- 条件结束
- 如果 KeyYouPress = 114 则
- 调用 AscIIOfKey()
- 条件结束
- 如果 KeyYouPress = 112 则
- 令 FileName = InputBox("请输入" & vbCrlf & "所取特征物想要保存的" & vbCrlf & "文本文件名称!","文件保存")
- 令 FileName = LTrim(RTrim(FileName)) & ".txt"
- 调用 Get_Features(DirPath,FileName)
- 条件结束
- 如果 KeyYouPress = 113 则
- 令 FileName = InputBox("请输入" & vbCrlf & "所取特征物想要保存的" & vbCrlf & "文本文件名称!","文件保存")
- 令 FileName = LTrim(RTrim(FileName)) & ".txt"
- 令 XY = IsFeaturesExists(DirPath,FileName)
- 如果 left(XY,1) = "-" 则
- 弹出窗口 "没有找到!"
- 否则
- 令 MyArray = Split(XY,"|")
- 令 Rx = CInt(MyArray(0))
- 令 Ry = CInt(MyArray(1))
- 弹出窗口 "找到了,坐标为: " & Rx & "," & Ry
- 条件结束
- 条件结束
- 循环结束
- 脚本停止运行
- 函数 IsFeaturesExists(DirPath,FileName)
- 定义变量 objShell, fso, MyArray
- 定义变量 fSourceName, fTargetname
- 定义变量 Rx(100), Ry(100), Rs(100)
- 定义变量 PixelColor(100), Features(100)
- 定义变量 Num
- 令 fTargetname = DirPath & "\" & "对比结果.txt"
- 令 fSourceName = DirPath & "\" & FileName
- 令 objShell = CreateObject("WScript.Shell")
- 注释:↑取得桌面路径
- 令 fso = CreateObject("Scripting.FileSystemObject")
- 如果 fso.FileExists(fSourceName) = 0 则
- 令 IsFeaturesExists = "-2|-2"
- 跳转到标记 EndOfFunc(函数 IsFeaturesExists)
- 条件结束
- 注释:↑文件不存在
- 令 fSource = fso.OpenTextFile(fSourceName,ForReading,True)
- (语句无法识别,可能有错误): Num = 0 //记录有效记录数
- 循环当 fSource.AtEndOfStream <> true 时
- 令 sLine = trim(fSource.ReadLine())
- 如果 Left(sLine,2) <> "//" 则
- 令 Num = Num + 1
- 令 MyArray = Split(sLine,",")
- 令 Rx(Num) = CInt(MyArray(0))
- 令 Ry(Num) = CInt(MyArray(1))
- 令 Features(Num) = MyArray(2)
- 令 PixelColor(Num) = 得到指定点 (Rx(Num), Ry(Num)) 的颜色
- 注释: PosOfSeparator = InStr( sLine, ",")
- 注释: Rx(Num) = Clng( Left( sLine, PosOfSeparator - 1 ))
- 注释: sLine = right( sLine, len( sLine ) - PosOfSeparator )
- 注释: PosOfSeparator = InStr( sLine, ",")
- 注释: Ry(Num) = Clng( Left( sLine, PosOfSeparator - 1 ))
- 注释: Features(Num) = right( sLine, len( sLine ) - PosOfSeparator )
- 注释: PixelColor(Num)=GetPixelColor( Rx(Num), Ry(Num) )
- 注释:// ↑上面这段跟使用数组效果是一样的
- 条件结束
- 循环结束
- 注释:↑上面就是读文件并处理
- 如果 fso.FileExists(fTargetname) = 0 则
- 令 fTarget = fso.OpenTextFile(fTargetName,ForWriting,True)
- fTarget.Close()
- 否则
- 令 fTarget = fso.opentextfile(fTargetName,forreading)
- fTarget.Close()
- 条件结束
- 注释:↑创建文件:对比结果.txt
- 令 fTarget = fso.OpenTextFile(fTargetName,forappending)
- fTarget.writeline(("//下面是[" & FileName & "]的对比结果"))
- 循环 i 从 1 到 Num
- fTarget.writeline((Rx(i) & "," & Ry(i) & "," & Features(i) & "," & PixelColor(i)))
- 循环结束
- 注释:↑上面就是写进TXT的找到的点坐标
- fTarget.Close()
- 令 Featuresstr = ""
- 循环 i 从 2 到 9
- 令 Rx(i) = Rx(i) - Rx(1)
- 令 Ry(i) = Ry(i) - Ry(1)