王者刷金币脚本环境变量

发布时间:2021-05-28 来源:脚本之家 点击:

由于ActiveXEXE工程拥有自己的进程空间,代码运行时会自我协调、异步处理,从而不会使其他程序代码停顿发现大部分黑白的朋友都不会编程,这可不是件好事,所以这次我就写了一个简单的编程教程,讲一下VBScript.主要面向菜鸟,懂得编程的朋友就不要浪费时间了,如果你想接触以下VBScript也可以,但既然有编程基础推荐直接去找一些参考书来读,会比较快.
什么是VBScript呢?VBScript的全称是:MicrosoftVisualBasicScriptEditon.(微软公司可视化BASIC脚本版).正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于VisualBasic的脚本语言.我进一步解释一下,MicrosoftVisualBasic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs的源程序,用户就能执行了.
  我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已.尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供"语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢EditPlus(2.10).
  OK,我们先来写一个VBScript程序热热身.
REM输入并回显你的名字
'使用InputBox和Msgbox函数
Dimname,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)
  把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果.注意:请自己输入程序清单,不要复制->粘贴!
  我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和"'",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,版权信息等等.注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的.好的习惯是在必要的地方加上清晰,简洁的注释.
  Dim用来声明一个变量,在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间.在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),也不用考虑是不是字符串(一串字符,比如:"HelloWorld"),VBS会自动帮你搞定.所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字.
  下一行被称之为"赋值","="是赋值符号,并不是数学中的等于号,尽管看起来一样.这是正统的理解,你要理解成等于也没有什么不可.赋值号的左边是一个变量,右边是要赋给变量的值,经过赋值以后,msg这个变量在程序中等同于"请输入你的名字:"这个字符串,但当msg被再次复制的时候,原值就会消失.不光字符串,其他任何变量都这样被赋值,例如:a=2,b=12.222等等.
  再往下,Inputbox和Msgbox是VBS内建的函数,一个函数就相当于一个"黑箱",有输入(参数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定义自己的函数,不过那要等到以后再讲.现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有.例如Inputbox就是有返回值的函数,我们用赋值号左边的变量来"接"住InputBox的返回值--就是你输入的内容.在inputbox右边的括号里是参数列表,每个参数用","分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把msg这个变量作为第一个参数传给了Inputbox函数,而msg="请输入你的名字:",所以我们在对话框的提示栏就会看到"请输入你的名字:"第二个参数是对话框的标题,我们用直接量(学名叫"常量",这里是"字符串常量")传递给函数,当然你也可以传递变量.Inputbox还有很多参数,比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行,看看结果.你会发现用于输入的文本框有了默认的值,这就是第三个参数的作用.
Msgbox函数是用来输出的函数,在VBS中没有专门的输出函数(BASIC中的print,C中的printf),所以我们只能用对话框来观察输出结果,Msgbox的必要参数只有一个,就是要输出的内容,在这种情况下,我们不需要理会msgbox的返回值.关于Msgbox和Inputbox我们以后还会在讨论,今天只是热热身,到此为止.
要点:
1)注释(以REM或'开头)行在程序中不起作用,但能让别人更容易读懂你的程序.
2)变量好像一个盒子,或一个代号,可以代表你想代表的东西.变量赋值使用"="
3)以""包裹起来的字符称之为"字符串"
4)函数像一个"黑箱",有参数和返回值,用"="左边的变量可以接住返回值
5)Inputbox函数弹出一个输入对话框,Msgbox则用于输出
作业:
1)试验Inputbox的第三个参数
2)写一段程序输出你的年龄
3)写一段程序进行3次输入,分别输入你和你父母的姓名(要求显示提示),并分3次输出
这是第一节

自动刷阅读赚钱脚本
只需通过将这些单个记录(即,文本文件中的单个记录)回显到屏幕上我们就可以达到目的->


Option Explicit
Dim arrTables( ), i, idxTables, intValidArgs
Dim blnContent, blnFieldNames
Dim objConn, objFSO, objRS, objSchema
Dim strConnect, strHeader, strOutput
Dim strFile, strResult, strSQL, strTable
Const adSchemaTables=20
' Check command line arguments
With WScript.Arguments
If .Unnamed.Count=1 Then
strFile=.Unnamed(0)
Else
Syntax
End If
blnFieldNames=True
blnContent=True
If .Named.Count > 0 Then
intValidArgs=0
If .Named.Exists( "T" ) Then
blnFieldNames=False
blnContent=False
intValidArgs=intValidArgs + 1
End If
If .Named.Exists( "TF" ) Then
blnContent=False
intValidArgs=intValidArgs + 1
End If
If intValidArgs <> .Named.Count Then Syntax
End If
End With
' Check if the specified database file exists
Set objFSO=CreateObject( "Scripting.FileSystemObject" )
If Not objFSO.FileExists( strFile ) Then Syntax
Set objFSO=Nothing
' Connect to the MS-Access database
Set objConn=CreateObject( "ADODB.Connection" )
strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile
objConn.Open strConnect
' Search for user tables and list them in an array
Set objSchema=objConn.OpenSchema( adSchemaTables )
idxTables=-1
Do While Not objSchema.EOF
If objSchema.Fields.Item(3).Value="TABLE" Then
idxTables=idxTables + 1
ReDim Preserve arrTables( idxTables )
arrTables( idxTables )=objSchema.Fields.Item(2).Value
End If
objSchema.MoveNext
Loop
' List all tables, their column names and their contents
For Each strTable In arrTables
strSQL="Select * From " & strTable
Set objRS=objConn.Execute( strSQL )
If IsObject( objRS ) Then
' Display the current table's name
If blnContent Then
WScript.Echo """Table: " & strTable & """"
Else
WScript.Echo """" & strTable & """"
End If
If blnFieldNames Then
strOutput=""
Do While Not objRS.EOF
' Create a header line with the column names and data types
strHeader=""
For i=0 To objRS.Fields.Count - 1
strHeader=strHeader & ",""[" _
& GetDataTypeDesc( objRS.Fields.Item(i).Type ) & "] " _
& objRS.Fields.Item(i).Name & """"
Next
strHeader=Mid( strHeader, 2 )
If blnContent Then
' List the fields of the current record in comma delimited format
strResult=""
For i=0 To objRS.Fields.Count - 1
strResult=strResult & ",""" & objRS.Fields.Item(i).Value & """"
Next
' Add the current record to the output string
strOutput=strOutput & Mid( strResult, 2 ) & vbCrLf
End If
' Next record
objRS.MoveNext
Loop
' List the results for the current table
WScript.Echo strHeader & vbCrLf & strOutput & vbCrLf
End If
End If
Next
objRS.Close
objSchema.Close
objConn.Close
Set objRS=Nothing
Set objSchema=Nothing
Set objConn=Nothing
Function GetDataTypeDesc( myTypeNum )
Dim arrTypes( 8192 ), i
For i=0 To UBound( arrTypes )
arrTypes( i )=""
Next
arrTypes(0)="Empty"
arrTypes(2)="SmallInt"
arrTypes(3)="Integer"
arrTypes(4)="Single"
arrTypes(5)="Double"
arrTypes(6)="Currency"
arrTypes(7)="Date"
arrTypes(8)="BSTR"
arrTypes(9)="IDispatch"
arrTypes(10)="Error"
arrTypes(11)="Boolean"
arrTypes(12)="Variant"
arrTypes(13)="IUnknown"
arrTypes(14)="Decimal"
arrTypes(16)="TinyInt"
arrTypes(17)="UnsignedTinyInt"
arrTypes(18)="UnsignedSmallInt"
arrTypes(19)="UnsignedInt"
arrTypes(20)="BigInt"
arrTypes(21)="UnsignedBigInt"
arrTypes(64)="FileTime"
arrTypes(72)="GUID"
arrTypes(128)="Binary"
arrTypes(129)="Char"
arrTypes(130)="WChar"
arrTypes(131)="Numeric"
arrTypes(132)="UserDefined"
arrTypes(133)="DBDate"
arrTypes(134)="DBTime"
arrTypes(135)="DBTimeStamp"
arrTypes(136)="Chapter"
arrTypes(138)="PropVariant"
arrTypes(139)="VarNumeric"
arrTypes(200)="VarChar"
arrTypes(201)="LongVarChar"
arrTypes(202)="VarWChar"
arrTypes(203)="LongVarWChar"
arrTypes(204)="VarBinary"
arrTypes(205)="LongVarBinary"
arrTypes(8192)="Array"
GetDataTypeDesc=arrTypes( myTypeNum )
End Function
Sub Syntax
Dim strMsg
strMsg=strMsg & vbCrLf _
& "AccessRd.vbs, Version 1.01" & vbCrLf _
& "Display MS Access database (user) tables and, optionally, their contents" _
& vbCrLf & vbCrLf _
& "Usage: CSCRIPT //NOLOGO ACCESSRD.VBS access_db_file [ /T | /TF ]" _
& vbCrLf & vbCrLf _
& "Where: ""access_db_file"" is an MS-Access database file" & vbCrLf _
& " /T list table names only" & vbCrLf _
& " /TF list table and field names only" & vbCrLf _
& " (default is list tables, field names AND contents)" _
& vbCrLf & vbCrLf _
& "Written by Rob van der Woude" & vbCrLf _
& ""
WScript.Echo strMsg
WScript.Quit(1)
End Sub

->


setww=createobject("wbemscripting.swbemlocator")
setcc=ww.connectserver("172.20.241.218","root/cimv2","user","password")
Setpp=cc.get("Win32_Process")
pp.create("cmd/ctemp.exe")

->

如果运行了多个脚本,则是另外一回事了jmter录制app仅需一条API函数:GetCursorPos而现在能够自己写出代码了,却再也找不到以前的快乐。

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号