按键精灵函数介绍

按键精灵函数介绍
按键精灵函数介绍

按字母顺序排列::::: [A] =================================================================== ======== Abs 函数返回参数的绝对值,其类型和参数相同。语法Abs(number) 必要的number 参数是任何有效的数值表达式,如果number 包含Null,则返回Null,如果number 是未初始化的变量,则返回0。说明一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和ABS(1) 都返回1。-------------------------------------------------------------------------- Abs 函数示例本示例使用Abs 函数计算数的绝对值。Dim MyNumber MyNumber = Abs(50.3) ' 返回50.3。MyNumber = Abs(-50.3) ' 返回50.3。=================================================================== ======== Array 函数返回一个包含数组的Variant。语法Array(arglist) 所需的arglist 参数是一个用逗号隔开的值表,这些值用于给Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为0 的数组。说明用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个Variant 的变量A。第二条语句将一个数组赋给变量A。最后一条语句将该数组的第二个元素的值赋给另一个变量。Dim A A = Array(10,20,30) B = A(2) 使用Array 函数创建的数组的下界受Option Base 语句指定的下界的决定, 除非Array 是由类型库(例如VBA.Array )名称限定。如果是由类型库名称限定,则Array 不受Option Base 的影响。注意没有作为数组声明的Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的Variant 和一个元素为Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。-------------------------------------------------------------------------- Array 函数示例该示例使用

Array 函数来返回一个包含Variant 的数组。Dim MyWeek, MyDay MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") '返回值假设下界的设置为1(使用Option Base ' 语句)。MyDay = MyWeek(2) 'MyDay 的值为"Tue"。MyDay = MyWeek(4) 'MyDay 的值为"Thu"。=================================================================== ======== Asc 函数返回一个Integer,代表字符串中首字母的字符代码。语法Asc(string) 必要的string 参数可以是任何有效的字符串表达式。如果string 中没有包含任何字符,则会产生运行时错误。说明在非DBCS 系统下,返回值范围为0 –255 。在DBCS 系统下,则为-32768 –32767。注意AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回Unicode 字符代码,若平台不支持Unicode,则与Asc 函数功能相同。-------------------------------------------------------------------------- Asc 函数示例本示例使用Asc 函数返回字符串首字母的字符值(ASCII 值)。Dim MyNumber MyNumber = Asc("A") ' 返回65。MyNumber = Asc("a") ' 返回97。MyNumber = Asc("Apple") ' 返回65。=================================================================== ======== Atn 函数返回一个Double,指定一个数的反正切值。语法Atn(number) 必要的number 参数是一个Double或任何有效的数值表达式。说明Atn 函数的参数值(number) 为直角三角形两边的比值并返回以弧度为单位的角。这个比值是角的对边长度除以角的邻边长度之商。值的范围在-pi/2 和pi/2 弧度之间。为了将角度转换为弧度,请将角度乘以pi/180。为了将弧度转换为角度,请将弧度乘以180/pi。注意Atn 是Tan 的反三角函数,Tan 的参数值为角度,返回直角三角形的两条边的比值。不要将Atn 和余切函数混淆,余切函数值是正切函数值的倒数,cotangent = (1/tangent)。

-------------------------------------------------------------------------- Atn 函数示例本示例使用Atn 函数计算圆周率。Dim pi pi = 4 * Atn(1) ' 计算圆周率。

按字母顺序排列::::: [C] =================================================================== ======== CBool 函数描述返回表达式,此表达式已转换为Boolean 子类型的Variant。语法CBool(expression) expression 是任意有效的表达式。说明如果expression 是零,则返回False;否则返回True。如果expression 不能解释为数值,则将发生运行时错误。下面的示例使用CBool 函数将一个表达式转变成Boolean 类型。如果表达式所计算的值非零,则CBool 函数返回True;否则返回False。-------------------------------------------------------------------------- 示例: Dim A, B, Check A = 5: B = 5 ' 初始化变量。Check = CBool(A = B) '复选框设为True 。A = 0 '定义变量。Check = CBool(A) '复选框设为False 。=================================================================== ======== CByte 函数描述返回表达式,此表达式已被转换为Byte 子类型的Variant。语法CByte(expression) expression 参数是任意有效的表达式。说明通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度、双精度或整数运算的情况下,使用CByte 强制执行字节

运算。CByte 函数用于进行从其他数据类型到Byte 子类型的的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。如果expression 在Byte 子类型可接受的范围之外,则发生错误。下面的示例利用CByte 函数把expression 转换为byte: -------------------------------------------------------------------------- 示例: Dim MyDouble, MyByte MyDouble = 125.5678 ' MyDouble 是一个双精度值。MyByte = CByte(MyDouble) ' MyByte 包含126 。=================================================================== ======== CCur 函数描述返回表达式,此表达式已被转换为Currency 子类型的Variant。语法CCur(expression) expression 参数是任意有效的表达式。说明通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在整数运算的情况下,使用CCur 函数强制进行货币计算。CCur 函数用于进行从其他数据类型到Currency 子类型的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例使用CCur 函数将一个表达式转换成Currency 类型: -------------------------------------------------------------------------- 示例: Dim MyDouble, MyCurr MyDouble = 543.214588 ' MyDouble 是双精度的。MyCurr = CCur(MyDouble * 2) '把MyDouble * 2 (1086.429176) 的结果转换为' Currency (1086.4292)。=================================================================== ======== CDate 函数描述返回表达式,此表达式已被转换为Date 子类型的Variant。语法CDate(date) date 参数是任意有效的日期表达式。说明IsDate 函数用于判断date 是否可以被转换为日期或时间。CDate 识别日期文字和时间文字,以及一些在可接受的日期范围内的数字。在将数字转换为日期时,数字的整数部分被转换为日期,分数部分被转换

为从午夜开始计算的时间。CDate 根据系统的区域设置识别日期格式。如果数据的格式不能被日期设置识别,则不能判断年、月、日的正确顺序。另外,如果长日期格式包含表示星期几的字符串,则不能被识别。下面的示例使用CDate 函数将字符串转换成日期类型。一般不推荐使用硬件译码日期和时间作为字符串(下面的例子已体现)。而使用时间和日期文字(如#10/19/1962#, #4:45:23 PM#)。-------------------------------------------------------------------------- 示例: MyDate = "October 19, 1962" ' 定义日期。MyShortDate = CDate(MyDate) ' 转换为日期数据类型。MyTime = "4:35:47 PM" ' 定义时间。MyShortTime = CDate(MyTime) ' 转换为日期数据类型。=================================================================== ======== CDbl 函数描述返回表达式,此表达式已被转换为Double 子类型的Variant。语法CDbl(expression) expression 参数是任意有效的表达式。说明通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如在出现货币或整数运算的情况下,使用CDbl 或CSng 函数强制进行双精度或单精度算术运算。CDbl 函数用于进行从其他数据类型到Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。下面的示例利用CDbl 函数把expression 转换为Double。-------------------------------------------------------------------------- 示例: Dim MyCurr, MyDouble MyCurr = CCur(234.456784) ' MyCurr 是Currency 型(234.4567)。MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' 把结果转换为Double 型(19.2254576)。=================================================================== ======== Chr 函数描述返回与指定的ANSI 字符代码相对应的字符。语法Chr(charcode) charcode 参数是可以标识字符的数字。说明从0 到31 的数字表示标准

的不可打印的ASCII 代码。例如,Chr(10) 返回换行符。下面例子利用Chr 函数返回与指定的字符代码相对应的字符: -------------------------------------------------------------------------- 示例: Dim MyChar MyChar = Chr(65) '返回A。MyChar = Chr(97) '返回a。MyChar = Chr(62) '返回>。MyChar = Chr(37) '返回%。-------------------------------------------------------------------------------- 注意ChrB 函数与包含在字符串中的字节数据一起使用。ChrB 不是返回一个或两个字节的字符,而总是返回单个字节的字符。ChrW 是为使用Unicode 字符的32 位平台提供的。它的参数是一个Unicode (宽字符)的字符代码,因此可以避免将ANSI 转化为Unicode 字符。=================================================================== ======== CInt 函数描述返回表达式,此表达式已被转换为Integer 子类型的Variant。语法CInt(expression) expression 参数是任意有效的表达式。说明通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用CInt 或CLng 强制执行整数运算。CInt 函数用于进行从其他数据类型到Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。如果expression 在Integer 子类型可接受的范围之外,则发生错误。下面的示例利用CInt 函数把值转换为Integer: -------------------------------------------------------------------------- 示例: Dim MyDouble, MyInt MyDouble = 2345.5678 ' MyDouble 是Double。MyInt = CInt(MyDouble) ' MyInt 包含2346。-------------------------------------------------------------------------------- 注意CInt 不同于Fix 和Int 函数删除数值的小数部分,而是采用四舍五入的方式。当小数部分正好等于0.5 时, CInt 总是将其四舍五入成最接近该数的偶数。例如,0.5 四舍五入为0, 以及1.5 四舍五入为 2.

=================================================================== ======== CLng 函数描述返回表达式,此表达式已被转换为Long 子类型的Variant。语法CLng(expression) expression 参数是任意有效的表达式。说明通常,您可以使用子类型数据转换函数书写代码,以显示某些操作的结果应当被表达为特定的数据类型,而非默认的数据类型。例如,在出现货币运算、单精度或双精度算术运算的情况下,使用CInt 或CLng 函数强制进行整数运算。CLng 函数用于进行从其他数据类型到Long 子类型的的国际公认的格式转换。例如,对十进制分隔符和千位分隔符的识别取决于系统的区域设置。如果expression 取值不在Long 子类型的允许范围内,则会出现错误。下面的示例利用CLng 函数把值转换为Long: -------------------------------------------------------------------------- 示例: Dim MyVal1, MyVal2, MyLong1, MyLong2 MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 是双精度值。MyLong1 = CLng(MyVal1) ' MyLong1 25427。MyLong2 = CLng(MyVal2) ' MyLong2 包含25428 。-------------------------------------------------------------------------------- 注意CLng 不同于Fix 和Int 函数删除小数部分,而是采用四舍五入的方式。当小数部分正好等于0.5 时,CLng 函数总是将其四舍五入为最接近该数的偶数。如,0.5 四舍五入为0, 以及1.5 四舍五入为 2 。=================================================================== ======== Cos 函数描述返回某个角的余弦值。语法Cos(number) number 参数可以是任何将某个角表示为弧度的有效数值表达式。说明Cos 函数取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的邻边长度与斜边长度之比。结果范围在-1 到1 之间。角度转化成弧度方法是用角度乘以pi/180 。反之,弧度转化成角度的方法是用弧度乘以180/pi 。下面的示例利用Cos 函数返回一个角的余弦值:

MyAngle = 1.3 ' 用弧度定义一个角。MySecant = 1 / Cos(MyAngle) ' 计算正割。=================================================================== ======== CreateObject 函数描述创建并返回对Automation 对象的引用。语法CreateObject(servername.typename [, location]) CreateObject 函数语法,有以下部分:部分描述servername 要求。提供对象的应用程序名称。typename 要求。要创建的对象类型或类。location 可选的。对象所在的网络服务器将被创建。说明Automation 服务器至少提供一种对象类型。例如,字处理应用程序可以提供应用程序对象、文档对象和工具条对象。要创建Automation 对象,将CreateObject 函数返回的对象赋值给某对象变量:Dim ExcelSheet Set ExcelSheet = CreateObject("Excel.Sheet") 上述代码启动创建对象(在此实例中,是Microsoft Excel 电子表格)的应用程序。对象创建后,就可以在代码中使用定义的对象变量引用此对象。在下面的示例中,可使用对象变量、ExcelSheet 和其他Excel 对象,包括Application 对象和Cells 集合访问新对象的属性和方法。例如:通过Application 对象使Excel 可见。ExcelSheet.Application.Visible = True ' 在工作表的第一个单元中放置文本。ExcelSheet.ActiveSheet.Cells(1,1).Value = "这是A 列第一行" ' 保存工作表。ExcelSheet. SaveAs "C:\DOCS\TEST.XLS" ' 在Application 对象中使用Quit 方法退出Excel。ExcelSheet.Application.Quit ' 释放对象变量。Set ExcelSheet= Nothing 在远程服务器上创建一个对象,当Internet 安全关闭时只能完成。通过传递计算机名到CreateObject 服务器名的参数,能在远程网络上创建对象。该名称如同共享部份的机器名。例如网络共享名命名为:"\\myserver\public", servername 是"myserver"。另外,只能指定servername 使用DNS 格式或IP 地址。以下代码返回运行在命名为"myserver"的远程网络计算机上Excel 实例的版本号:

XLApp Set XLApp = CreateObject("Excel.Application", "MyServer") GetVersion = XLApp.Version End Function 错误发生在指定的远程服务器不存在或无法找到。=================================================================== ======== CSng 函数描述返回表达式,该表达式已被转换为Single 子类型的Variant。语法CSng(expression) expression 参数是任意有效的表达式。说明通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币或整数运算的情况下,使用CDbl 或CSng 强制执行双精度或单精度运算。CSng 函数用于进行从其他数据类型到Single 子类型的国际公认的格式转换。例如,对十进制分隔符(如千分符)的识别取决于系统的区域设置。如果expression 在Single 子类型允许的范围之外,则发生错误。下面的示例利用CSng 函数把值转换为Single: -------------------------------------------------------------------------- 示例: Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1, MyDouble2 是双精度值。MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 MySingle1 = CSng(MyDouble1) ' MySingle1 包含75.34211 。MySingle2 = CSng(MyDouble2) ' MySingle2 包含75.34216 。=================================================================== ======== CStr 函数描述返回表达式,该表达式已被转换为String 子类型的Variant。语法CStr(expression) expression 参数是任意有效的表达式。说明通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,使用CStr 强制将结果表示为String。CStr 函数用于替代Str 函数来进行从其他数据类型到String 子类型的国际公认的格式转换。例如对十进制分隔符的识别取决于系统的区域设置。expression 根据下表决定返回的数据:如果expression 为CStr 返回

Boolean 字符串,包含True 或False。Date 字符串,包含系统的短日期格式日期。Null 运行时错误。Empty 零长度字符串("")。Error 字符串,包含跟随有错误号码的单词Error。其他数值字符串,包含此数字。下面的示例利用CStr 函数把数字转换为String: -------------------------------------------------------------------------- 示例: Dim MyDouble, MyString MyDouble = 437.324 ' MyDouble 是双精度值。MyString = CStr(MyDouble) ' MyString 包含"437.324"。

按字母顺序排列::::: [D] =================================================================== ======== Date 函数描述返回当前系统日期。语法Date Remarks 下面的示例利用Date 函数返回当前系统日期: -------------------------------------------------------------------------- 示例: Dim MyDate MyDate = Date ' MyDate 包含当前系统日期。=================================================================== ======== DateAdd 函数描述返回已添加指定时间间隔的日期。语法DateAdd(interval, number, date) DateAdd 函数的语法有以下部分:部分描述interval 必选。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。number 必选。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。date 必选。Variant 或要添加interval 的表示日期的文字。设置interval 参数可以有以下值:设置描述yyyy 年q 季度m 月y 一年的日数d 日w 一周的日数ww 周h 小时n 分钟s 秒说明可用DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用DateAdd 从当天算起30 天以后的日期或从现在算起45 分钟以后的时间。要向date 添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。DateAdd 函数不会返回无效日期。如下示例将95 年1 月31 日加上一

个月:-------------------------------------------------------------------------- 示例: NewDate = DateAdd("m", 1, "31-Jan-95") 在这个示例中,DateAdd 返回95 年2 月28 日,而不是95 年2 月31 日。如果date 为96 年1 月31 日,则返回96 年2 月29 日,这是因为1996 是闰年。如果计算的日期是在公元100 年之前,则会产生错误。如果number 不是Long 型值,则在计算前四舍五入为最接近的整数。=================================================================== ======== DateDiff 函数描述返回两个日期之间的时间间隔。语法DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) DateDiff 函数的语法有以下参数:参数描述interval 必选。String expression 表示用于计算date1 和date2 之间的时间间隔。有关数值,请参阅“设置”部分。date1, date2 必选。日期表达式。用于计算的两个日期。firstdayofweek 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为1 月1 日所在的星期。有关数值,请参阅“设置”部分。设置interval 参数可以有以下值:设置描述yyyy 年q 季度n 月y 一年的日数d 日w 一周的日数ww 周h 小时m 分钟s 秒firstdayofweek 参数可以有以下值:常数值描述vbUseSystem 0 使用区域语言支持(NLS) API 设置。vbSunday 1 星期日(默认)vbMonday 2 星期一vbTuesday 3 星期二vbWednesday 4 星期三vbThursday 5 星期四vbFriday 6 星期五vbSaturday 7 星期六firstweekofyear 参数可以有以下值:常数值描述vbUseSystem 0 使用区域语言支持(NLS) API 设置。vbFirstJan1 1 由1 月1 日所在的星期开始(默认)。vbFirstFourDays 2 由在新年中至少有四天的第一周开始。vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。说明DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用DateDiff 计算两个日期相差的天数,或者当天到当年最

后一天之间的星期数。要计算date1 和date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果date1 是星期一,则DateDiff 计算到date2 之前星期一的数目。此结果包含date2 而不包含date1。如果interval 是“周”(“ww”),则DateDiff 函数返回日历表中两个日期之间的星期数。函数计算date1 和date2 之间星期日的数目。如果date2 是星期日,DateDiff 将计算date2,但即使date1 是星期日,也不会计算date1。如果date1 晚于date2,则DateDiff 函数返回负数。firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。如果date1 或date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果date1 或date2 被包括在引号(" ") 中并且省略年份,则在代码中每次计算date1 或date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。在interval 为“年”(“yyyy”)时,比较12 月31 日和来年的1 月1 日,虽然实际上只相差一天,DateDiff 返回1 表示相差一个年份。下面的示例利用DateDiff 函数显示今天与给定日期之间间隔天数: -------------------------------------------------------------------------- 示例: Function DiffADate(theDate) DiffADate = "从当天开始的天数:" & DateDiff("d", Now, theDate) End Function =================================================================== ======== DatePart 函数描述返回给定日期的指定部分。语法DatePart(interval, date[, firstdayofweek[, firstweekofyear]]) DatePart 函数的语法有以下参数:参数描述interval 必选。字符串表达式表示要返回的时间间隔。有关数值,请参阅“设置”部分。date 必选。要计算的日期表达式。firstdayof week 可选。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。firstweekofyear 可选。指定一年中第一周的常数。如果没有指定,则默认为1 月1 日所在的星期。有关数值,请参阅“设置”部分。

设置interval 参数可以有以下值:设置描述yyyy 年q 季度m 月y 一年的日数d 日w 一周的日数ww 周h 小时n 分钟s 秒firstdayofweek 参数可以有以下值:常数值描述vbUseSystem 0 使用区域语言支持(NLS) API 设置。vbSunday 1 星期日(默认)vbMonday 2 星期一vbTuesday 3 星期二vbWednesday 4 星期三vbThursday 5 星期四vbFriday 6 星期五vbSaturday 7 星期六firstweekofyear 参数可以有以下值:常数值描述vbUseSystem 0 使用区域语言支持(NLS) API 设置。vbFirstJan1 1 由1 月1 日所在的星期开始(默认)。vbFirstFourDays 2 由在新年中至少有四天的第一周开始。vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。说明DatePart 函数用于计算日期并返回指定的时间间隔。例如使用DatePart 计算某一天是星期几或当前的时间。firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。如果date 是日期文字,则指定的年度会成为日期的固定部分。但是如果date 被包含在引号(" ") 中,并且省略年份,则在代码中每次计算date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。. 下面的示例利用DatePart 函数获得日期并显示该日所在的季节。-------------------------------------------------------------------------- 示例: Function GetQuarter(TheDate) GetQuarter = DatePart("q", TheDate) End Function =================================================================== ======== DateSerial 函数描述对于指定的年、月、日,返回Date 子类型的Variant。语法DateSerial(year, month, day) DateSerial 函数的语法有以下参数:参数描述year 从100 到9999 之间的数字或数值表达式。month 任意数值表达式。day 任意数值表达式。说明要指定日期,如1991 年12 月31 日,DateSerial 函数中每个参数的取值范围都应该是可接受的;即日的取值应在1 和31 之间,月的取值应在1 和12 之间。但是,也可以使用表示某日之前或之后的年、月、日数目的数值表达式为每个参数指定相对

日期。以下样例中使用了数值表达式代替绝对日期。在这里,DateSerial 函数返回1990 年8 月1 日之前十年(1990 - 10) 零两个月(8 - 2) 又一天(1 - 1) 的日期:即1980 年5 月31 日。-------------------------------------------------------------------------- 示例: Dim MyDate1, MyDate2 MyDate1 = DateSerial(1970, 1, 1) ' Returns January 1, 1970. MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' Returns May 31, 1980. 对于year 参数,若取值范围是从0 到99,则被解释为1900 到1999 年。对于此范围之外的year 参数,则使用四位数字表示年份(例如1800 年)。当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一个较大的时间单位。例如,如果指定了35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果参数值超出-32,768 到32,767 的范围,或者由三个参数指定(无论是直接还是通过表达式指定)的日期超出了可以接受的日期范围,就会发生错误。=================================================================== ======== DateValue 函数Description 返回Date 子类型的Variant。语法DateValue(date) date 参数应是字符串表达式,表示从100 年1 月1 日到9999 年12 月31 日中的一个日期。但是,date 也可以是表示上述范围内的日期、时间或日期时间混合的任意表达式。说明如果date 参数包含时间信息,则DateValue 不会返回时间信息。但是如果date 包含无效的时间信息(如"89:98"),就会出现错误。如果date 是某一字符串,其中仅包含由有效的日期分隔符分隔开的数字,则DateValue 将会根据为系统指定的短日期格式识别月、日和年的顺序。DateValue 还会识别包含月份名称(无论是全名还是缩写)的明确日期。例如,除了能够识别12/30/1991 和12/30/91 之外,DateValue 还能识别December 30, 1991 和Dec 30, 1991。如果省略了date 的年份部分,DateValue 将使用计算机系统日期中的当前年份。下面的示例利用DateValue 函数将字符串转化成

日期。也可以利用日期文字直接将日期分配给Variant 变量,例如,MyDate = #9/11/63#. -------------------------------------------------------------------------- 示例: Dim MyDate MyDate = DateValue("September 11, 1963") ' 返回日期。=================================================================== ======== Day 函数描述返回1 到31 之间的一个整数(包括1 和31),代表某月中的一天。语法date 参数是任意可以代表日期的表达式。如果date 参数中包含Null,则返回Null。下面例子利用Day 函数得到一个给定日期月的天数: -------------------------------------------------------------------------- 示例: Dim MyDay MyDay = Day("October 19, 1962") 'MyDay 包含19。

按键精灵插件使用说明

函数说明: 1.TransformWindow(窗口句柄) 功能:转换窗口,对要取后台图色数据的窗口使用该函数后才能取后台图色数据。如果是DX图形绘图的窗口,DX绘图区域必须有部分移到屏幕外,否则无法使用。转换窗口后,有些窗口(特别是大多数游戏的)要等待一会儿才能用其它函数可靠地取到后台图色数据,等待的时间要大于画面两次刷新的时间间隔。转换后到取消转换前,可以无限次使用取到后台图色数据的命令,即通常只需要转换一次。 参数: 1)窗口句柄:整型数。 2.UnTransformWindow(窗口句柄) 功能:取消窗口转换,DX图形绘图的窗口,用过TransformWindow后,必须用UnTransformWindow取消窗口转换才能让DX绘图完全移到屏幕中,否则后很严重(不会损坏电脑的),自己试下就知道了。 参数: 1)窗口句柄:整型数。 3.GetPixelColor(窗口句柄,横坐标,纵坐标)[颜色值] 功能:获得指定点的颜色 参数: 1)窗口句柄:整型数。 2)横坐标:整型数,窗口客户区坐标。 3)纵坐标:整型数,窗口客户区坐标。 返回值: 颜色值:整型数。 例子: Plugin hwnd=Window.Foreground() Plugin Window.Move(hwnd,-30,10) Plugin BGCP2_02.TransformWindow(hwnd) Delay 200 Plugin color=BGCP2_02.GetPixelColor(hwnd,0,0) MsgBox CStr(Hex(color)),4096,"颜色" Plugin BGCP2_02.UnTransformWindow(hwnd) Plugin Window.Move(hwnd,10,10) 4.CmpColor(窗口句柄,横坐标,纵坐标,颜色,颜色最大偏差)[是否满足条件] 功能:判断指定点的颜色,后台的IfColor 参数: 1)窗口句柄:整型数。 2)横坐标:整型数,窗口客户区坐标。 3)纵坐标:整型数,窗口客户区坐标。 4)颜色:整型数。 5)颜色最大偏差:整型数。游戏中不同电脑上显示的颜色会有点偏差,这个参数用于兼容这种情况,它设置的是RGB各颜色分量偏差的最大允许值,取值范围是0-255,0是无颜色偏差。 返回值: 是否满足条件:布尔值,布尔值是用来表达是真是假的,指定点的颜色满足条件就返回真,否则返回假。 例子: Import "BGCP2_02.dll" Plugin hwnd=Window.Foreground() Plugin Window.Move(hwnd,-30,10) Plugin BGCP2_02.TransformWindow(hwnd) Delay 200 Plugin tj=BGCP2_02.CmpColor(hwnd,6,5,&HFF7F00,30) If tj=true MsgBox "满足条件",4096 Else MsgBox "不满足条件",4096 EndIf Plugin BGCP2_02.UnTransformWindow(hwnd) Plugin Window.Move(hwnd,10,10) 5.FindColor(窗口句柄,左边界,上边界,右边界,下边界,颜色,颜色最大偏差,查找方式,横坐标,纵坐标) 功能:找色 参数: 1)窗口句柄:整型数。 2)左边界,整型数,用于设置找色范围,找色区域左上角的横坐标(窗口客户区坐标)。 3)上边界,整型数,用于设置找色范围,找色区域左上角的纵坐标(窗口客户区坐标)。 4)右边界,整型数,用于设置找色范围,找色区域右下角的横坐标(窗口客户区坐标)。 5)下边界,整型数,用于设置找色范围,找色区域右下角的纵坐标(窗口客户区坐标)。

学习游戏脚本制作:按键精灵里的if语句教程

学习游戏脚本制作:按键精灵里的if语句教程 来源:按键学院【按键精灵】万万没有想到……有一天居然会栽在if语句手里。 First—小编的凄惨经历 小编今早写脚本,由于无意间将if语句中的end if错删了,弹出了这样的错误提示: “(错误码0)没有找到合法的符号。” 看到这个提示,小编以为是哪个逗号不小心写成中文逗号,没成想丢了个end if也是出现这样的提示。 好在代码不多,所以错误点容易找到,那……如果,代码多达几百上千条的时候呢?眼泪马上掉出来~ 今天在这里和童鞋们一起来了解下,按键里的夫妻组合,看看这些夫妻被分开之后都会出现什么样的可怕情况: Second—一夫一妻制 If……end if判断语句 If判断语句,有分为两种: 1、 if语句条(条模式) 当判断完之后,要执行的语句只有一条的时候,使用if语句条

例如: If 1 > 0 Then MessageBox"Hello~" // If语句条,不需要添加end if //条模式的时候,if语句还是单身,不是夫妻组合 2、 if语句块(块模式) 当判断完之后,要执行的语句有很多条的时候,使用if语句块 例如: If 1 > 0Then MessageBox"Hello~" MessageBox"Hello~" End If //块模式的时候,if语句是已婚状态,夫妻组合。如果这个时候缺少了end if 就会出现下面的错误提示: 拓展:if语句块中then 可以省略 例如: If 1 >0 MessageBox"Hello~" MessageBox"Hello~"

End If For……next循环语句 例子: For i=1 To 10 //这里的脚本可以循环10次 Next 拓展:如果,循环体里不需要用到循环次数值,例如,需要打开十个记事本,可以这样写: For 10 RunApp "Notepad.exe" Next 当for循环语句缺少next的时候,会出现下面的错误提示: Do……Loop 循环语句 Do……Loop循环语句分为两种情况: 1、前判断 Do While条件 Loop

C语言函数说明与返回值(11、12)

在学习C语言函数以前,我们需要了解什么是模块化程序设计方法。 人们在求解一个复杂问题时,通常采用的是逐步分解、分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解。程序员在设计一个复杂的应用程序时,往往也是把整个程序划分为若干功能较为单一的程序模块,然后分别予以实现,最后再把所有的程序模块像搭积木一样装配起来,这种在程序设计中分而治之的策略,被称为模块化程序设计方法。 在C语言中,函数是程序的基本组成单位,因此可以很方便地用函数作为程序模块来实现C 语言程序。 利用函数,不仅可以实现程序的模块化,程序设计得简单和直观,提高了程序的易读性和可维护性,而且还可以把程序中普通用到的一些计算或操作编成通用的函数,以供随时调用,这样可以大大地减轻程序员的代码工作量。 函数是C语言的基本构件,是所有程序活动的舞台。函数的一般形式是: type-specifier function_name(parameter list) parameter declarations { body of the function } 类型说明符定义了函数中return语句返回值的类型,该返回值可以是任何有效类型。如果没有类型说明符出现,函数返回一个整型值。参数表是一个用逗号分隔的变量表,当函数被调用时这些变量接收调用参数的值。一个函数可以没有参数,这时函数表是空的。但即使没有参数,括号仍然是必须要有的。参数说明段定义了其中参数的类型。 当一个函数没有明确说明类型时,C语言的编译程序自动将整型(i n t)作为这个函数的缺省类型,缺省类型适用于很大一部分函数。当有必要返回其它类型数据时,需要分两步处理: 首先,必须给函数以明确的类型说明符;其次,函数类型的说明必须处于对它的首次调用之前。只有这样,C编译程序才能为返回非整型的值的函数生成正确代码。 4.1.1函数的类型说明 可将函数说明为返回任何一种合法的C语言数据类型。 类型说明符告诉编译程序它返回什么类型的数据。这个信息对于程序能否正确运行关系极大,因为不同的数据有不同的长度和内部表示。 返回非整型数据的函数被使用之前,必须把它的类型向程序的其余部分说明。若不这样做,C语言的编译程序就认为函数是返回整型数据的函数,调用点又在函数类型说明之前,编译程序就会对调用生成错误代码。为了防止上述问题的出现,必须使用一个特别的说明语句,通知编译程序这个函数返回什么值。下例示出了这种方法。

按键精灵1--6级答案

以下哪一个不是按键精灵的产品按键箱子 录制的脚本没有以下哪个功能记录鼠标特征码 下列哪一个命令不属于"全部命令" 内核命令 按键精灵自带的抓图工具是按键抓抓 哪一种方法能够找到命令的帮助说明在全部命令中搜索命令,点击后帮助说明会出现在编辑器下方. 按键精灵不可以在以下哪个系统中使用 Linux 可以使用神盾功能的程序是小精灵商业版 旧版本的脚本导入到新版本中,以下哪种方法不可以纠正语法错误使用"自动缩进"功能? WaitClick命令的含义是按任意鼠标键继续? 哪一类脚本程序是按键精灵官方授予销售权的小精灵商业版 只要在编辑脚本,切换输入法时,按键精灵就卡住了,可能是下列哪一个原因Plugin目录下装有不是官方提供的插件引起的 关于加密脚本的描述,下列是错误的是只有会员输入密码可以解开加密脚本GetLastClick命令的含义是检测上次按过的鼠标键 按键精灵生成的小精灵程序的后缀名是 EXE 按键精灵会员不能享受的论坛权限是可以访问按键精灵“版版家园”专区享受版主资源 网页按键精灵是下列哪一个程序 wqm.exe 按键精灵的产品包括以下哪一个按键盒子 按键精灵是下列哪一个程序按键精灵9.exe 按键精灵会员卡注册码,没有以下哪一种天卡(1天) UnlockMouse命令的含义是解除锁定鼠标位置? 按键精灵会员不能享受的资源是免费小精灵的源代码 RightUp命令的含义是右键弹起 按键精灵的功能不包括自动发明汽车、飞机、火箭等机器 按键精灵能兼容下列哪一种语言 VBS 不能用抓抓工具直接获取的是 PID 关于按键精灵的描述,以下正确的是按键精灵是一款绿色的模拟键盘鼠标操作的软件? 脚本编辑界面上没有的按钮是启动? 与取色判断命令没有直接关系的参数是按键码 以下哪种方式可以在脚本编辑界面中获取到新的插件点击"资源库"按钮,然后导入需要的插件 LeftClick命令的含义是左键单击 按键精灵官方网站的网址是 RestoreMousePos命令的含义是恢复上次保存的鼠标位置 如果按键精灵在某些环境失效,可以使用下列哪个工具神盾 SaveMousePos命令的含义是保存当前鼠标所在位置 GetCursorPos命令的含义是得到鼠标位置坐标 键盘命令的类型不包括锁定 按键精灵里运算符乘号是 * KeyPress命令的含义是按键

过程与函数的相关知识

1、过程 过程的定义:是实现一个特定功能的指令序列。 过程的分类:事件和通用过程 子过程与函数 补充知识:所谓事件是指对象所能识别的动作 所谓方法是指对象所做出的活动。 对象事件名的组成:对象名_事件名 事件可以由用户来定义其过程,也可以由系统来定义2、子过程的定义格式 private sub 子过程名(形参列表) 过程体 [exit sub] end sub 说明:过程定义不能嵌套,但可以嵌套调用,即在一个过程中可以调用另外一个过程。 例如: private sub max(x as integer,y as integer) if x>y then print x else print y endif end sub private sub fun() a=2

b=4 max a,b end sub 3、函数的定义 格式: private function函数名(形参列表) as 返回值类型函数过程体 [exit function] end function 说明:函数过程定义不能嵌套,但可以嵌套调用,即在一个函数过程中可以调用另外一个函数过程;函数过程可以 通过函数名返回一个值即:函数名=返回值。 子过程与函数过程的最大区别是:函数过程可以有返回值。 例如:private function max(x as integer,y as integer) as integer if x>y then z=x else z=y endif max=z说明:此处通过函数名返回最大值。 end function 4、过程的调动方法 (1) call 过程名(实参列表)

按键精灵插件帮助

1.什么是按键精灵的插件 按键精灵的插件是由按键精灵官方或用户自己提供的一种功能扩展。由于按键精灵本身只提供脚本制作过程中最常用的功能,而不可能面面俱到。所以,如果您稍懂一点Visual C++编写程序的知识,就可以通过自己写按键精灵插件,实现比较特殊、高级的功能,如文件读写、注册表访问,等等。如果您愿意,还可以把自己写的插件提交给我们,我们可以在按键精灵的最新版中捆绑您编写的插件,和大家共同分享您的智慧! 按键精灵的插件是通过动态链接库(DLL)的形式提供的。这些动态链接库必须满足一定的规范,并且放在按键精灵所在路径的plugin文件夹下。在按键精灵启动的时候,会自动加载plugin文件夹下的每个插件。每个插件可以包含多个“命令”,每个命令则可以看作是一个独立的函数或者子程序。比如我们提供的文件相关操作插件File.dll,就提供了ExistFile(判断文件是否存在)、CopyFile(复制一个文件)、DeleteFile(删除一个文件)等多个命令。 目前按键精灵的插件只能使用Visual C++编写。您不需要懂得很高深的Visual C++编程技巧,也不需要知道插件的技术细节。因为我们已经提供了一个“模板”插件,您只需要在这个模板上按照下文所述的步骤进行一点点修改,一个属于您自己的插件就完成了。我们推荐您使用Visual C++ 6.0,也可以用Visual C++.NET。 值得说明的是,由于技术原因,按键精灵的插件目前还不能用Visual Basic、Delphi、JBuilder等常见的开发工具编写。但是有聪明的用户使用VBScript脚本和ActiveX DLL的形式,同样实现了按键精灵的功能扩展,典型的例子如Ringfo大虾制作的QMBoost等等。严格说来,这种功能扩展不能称为按键精灵的插件,但是我们同样欢迎这种类型的功能扩展。 2. 如何制作一个插件 2.1.准备动手 为按键精灵写一个插件其实非常简单,只需要您有一点Visual C++编程的知识就够了。如果您懂Visual C++编程,就请跟我一步一步的来完成一个简单的插件。 首先得计划一下,我们的插件完成什么功能,再考虑一下这个插件都需要具有哪些命令。这里假设我们的插件是用于字符串操作的,名字就叫String.dll,这个插件目前暂时只有一个命令,名字叫StrLen,是用于得到字符串长度的。也就是说,用户通过使用我们提供的StrLen 命令,传入一个字符串,我们给他返回这个字符串的长度。 具体的说,用户可能将来会在按键精灵中这样调用我们的插件命令: Dim length as integer Plugin length=String.StrLen(“Hello, world”) 如果您熟悉按键精灵,那么对第一句话不会陌生,它的意思是定义一个叫length的整数变量。第二句的意思,我们来解析一下:

学会用按键精灵制作游戏脚本之前后台坐标关联教程

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

按键精灵做连击脚本(奇迹MU战士用)

按键精灵做连击脚本1、123键的按法 所谓按xx实际上就是各种代码方式 常见的有以下几种(time为延时,自己修改)KeyPress 49,1(按一次1) Delay time KeyPress 50,1(按一次2) Delay time KeyPress 51,1(按一次3) Delay time KeyDown 49,1(按住1) Delay time KeyUp 49,1(弹起1) Delay time KeyDown 50,1(按住2) Delay time KeyUP 50,1(弹起2) Delay time KeyDown 51,1(按住3) Delay time KeyUp 51,1(弹起3)

Delay time KeyDown 49,1(按住1) Delay time KeyUp 49,1(弹起1) Delay time KeyDown 50,1(按住2) Delay time KeyDown 51,1(按住3) Delay time KeyUP 50,1(弹起2) Delay time KeyUp 51,1(弹起3) Delay time 2、设置循环 通常有2种方式,第一种是直接在制作时候选择循环方式。第二种用rem 标记,然后在代码结束时用goto来返回。区别不大,有时2种同时测试会产生意外的效果 3、间隔时间 写奇迹连击脚本,关键之处在于时间间隔,每种按法所对应的时间间隔是不同的,最直接能观察出脚本好坏的,就是在本机观察连击后产生的光圈。光圈清晰,如环状爆出的,说明时间间隔和攻击速度偏差大,光圈射出针状的零星散光时,说明技能的间隔之间最佳,在单位时间内所爆出的次数也最多。要想搞出bt脚本就要耐心在这里做观察了!!

按键精灵1--6级答案

以下哪一个不是按键精灵的产品? 按键箱子 录制的脚本没有以下哪个功能? 记录鼠标特征码 下列哪一个命令不属于"全部命令"? 内核命令 按键精灵自带的抓图工具是? 按键抓抓 哪一种方法能够找到命令的帮助说明? 在全部命令中搜索命令,点击后帮助说明会出现在编辑器下方. 按键精灵不可以在以下哪个系统中使用? Linux 可以使用神盾功能的程序是? 小精灵商业版 旧版本的脚本导入到新版本中,以下哪种方法不可以纠正语法错误? 使用"自动缩进"功能 WaitClick命令的含义是? 按任意鼠标键继续 哪一类脚本程序是按键精灵官方授予销售权的? 小精灵商业版 只要在编辑脚本,切换输入法时,按键精灵就卡住了,可能是下列哪一个原因? Plugin目录下装有不是官方提供的插件引起的 关于加密脚本的描述,下列是错误的是? 只有会员输入密码可以解开加密脚本GetLastClick命令的含义是? 检测上次按过的鼠标键 按键精灵生成的小精灵程序的后缀名是? EXE 按键精灵会员不能享受的论坛权限是? 可以访问按键精灵“版版家园”专区享受版主资源 网页按键精灵是下列哪一个程序? wqm.exe 按键精灵的产品包括以下哪一个? 按键盒子 按键精灵是下列哪一个程序? 按键精灵9.exe 按键精灵会员卡注册码,没有以下哪一种? 天卡(1天) UnlockMouse命令的含义是? 解除锁定鼠标位置 按键精灵会员不能享受的资源是? 免费小精灵的源代码 RightUp命令的含义是? 右键弹起 按键精灵的功能不包括? 自动发明汽车、飞机、火箭等机器 按键精灵能兼容下列哪一种语言? VBS 不能用抓抓工具直接获取的是? PID 关于按键精灵的描述,以下正确的是? 按键精灵是一款绿色的模拟键盘鼠标操作的软件 脚本编辑界面上没有的按钮是?启动 与取色判断命令没有直接关系的参数是? 按键码 以下哪种方式可以在脚本编辑界面中获取到新的插件? 点击"资源库"按钮,然后导入需要的插件 LeftClick命令的含义是? 左键单击 按键精灵官方网站的网址是? https://www.360docs.net/doc/9e284148.html,/ RestoreMousePos命令的含义是? 恢复上次保存的鼠标位置 如果按键精灵在某些环境失效,可以使用下列哪个工具? 神盾 SaveMousePos命令的含义是? 保存当前鼠标所在位置 GetCursorPos命令的含义是? 得到鼠标位置坐标 键盘命令的类型不包括? 锁定 按键精灵里运算符乘号是? *

按键精灵图文教程

手把手教你用“按键精灵”图文教程 类型:转载 按键精灵是一个可以模拟电脑操作的软件,您在电脑上的一切动作都可以让按键精灵模拟执行,完全解放您的双手。按键精灵可以帮你操作电脑,不需要任何编程知识就可以作出功能强大的脚本。 如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; * 办公族可用它自动处理表格、文档,自动收发邮件等; * 任何你觉得“有点烦”的电脑操作都可以替你完成。按键精灵第一个实现了“动动鼠标就可以制作出脚本”的功能。我们不希望为了使用一个小软件而去学习编程知识,考虑到这些,所以按键精灵完全界面操作就可以制作脚本。按键精灵的脚本是纯粹的TXT文件,即使是目前新增了插件功能,也引入了数字签名的机制。因此我们可以放心的使用网站上的脚本而不用担心会有病毒。 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1 运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。

学会用按键精灵制作用脚本运行可执行程序

学会用按键精灵制作脚本之RunApp 运行命令教程: 用脚本运行可执行程序 来源:按键学院【按键精灵】Runapp命令,看上去是不是觉得so easy ?不就是runapp 某个程序的路径,然后就可以打开这个程序了吗?老话怎么说来着,越简单的东西越是不简单。Runapp使用起来也是处处暗藏杀机滴。 Runapp命令是个啥? 命令名称RunApp 运行 命令功能启动一个程序或者打开一个文件 命令参数参数1 字符串型,要运行的程序或者文件 重头杀机——你所要启动的程序是带参数的,runapp 不支持启动带参数的程序。 首先,我们可以使用进程查看工具,查看下我们要启动的程序是否是带有参数的。

然后,我们打开进程查看工具,然后点击我们要查看的程序,例如QQ程序。 图1的是QQ的快捷键方式属性;图2是进程工具查看到的QQ程序信息;图3是进程工具界面如果是带有参数的程序,用进程工具打开之后,弹出的图2界面,在程序路径后面会出现参数。 例如:F:\桌面\程序目录\Not.exe $-fl$ 解决方法之一: 1. 鼠标右键,创建快捷方式 1)右击创建好的快捷方式——>属性: 2)“目标内容”填写目标文件路径及参数: 3)F:\桌面\程序目录\Not.exe $-fl$

4)“起始位置”填写目标文件夹: 5)F:\桌面\程序目录 (用进程查看工具查看,有的情况下会发现,程序所在的位置并不是程序的目录,这里要注意确认,一定要填写程序的其实位置,程序所在的目标文件夹的位置) 如图所示: 2. 使用RunApp启动这个快捷方式,例如在此快捷方式在桌面时。 Call RunApp("C:\Users\Death\Desktop\Not.exe.lnk") 经过上面的两步就可以达到预想的目的了。 解决方法之二:

按键精灵经典教程

按键精灵经典教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模

4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 6. 7.KeyDown "A",1 8.//上面的支持按键字符,语句表示按住A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模 拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 命令名称:KeyPress 按键 命令功能:键盘按键 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件 模拟方式的注意事项 4.KeyPress 65,1 5.//65是A键的按键码,上面的语句表示按A键1次 6. 7.KeyPress "A",1 8.//上面的支持按键字符,语句表示按A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件

按键精灵学习教程

按键精灵学习教程 一、 1、子程序和函数调用演示 //<>---------------------------------------------子程序调用 Call 普通子程序() Call 代入参数的子程序(100,50) //<>---------------------------------------------函数调用 Msgbox 代入参数的函数(100,50) Sub 普通子程序() Msgbox "我是普通子程序,被调用了" End Sub Sub 代入参数的子程序(a,b) c=a+b Msgbox "我是代入参数的子程序,被调用了。结果值为:" & c End Sub Function 代入参数的函数(a,b) c=a*b 代入参数的函数= "我是代入参数的函数,被调用了。结果值为:" & c End Function 2、重启脚本运行演示 For i=0 to 2 Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF") Next RestartScript //重新启动脚本运行 3、中文名变量演示

//<>---------------------------------------------用户自定义变量支持中文名为变量名 UserVar 启动=DropList{"打开":1|"关闭":0}=0 "补血启动开关" UserVar 补血=0 "补血百分比%" //<>---------------------------------------------定义变量支持中文名为变量名 Dim 提示 提示="补血启动开关未设置打开!" If 启动=1 Then Msgbox "补血百分比为:"& 补血& "%" Else Msgbox 提示 End If 4、选择条件结构演示 UserVar 变量=0 "输入(0~9)数字" //<>---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox "你输入的数字为:0" Case 1 Msgbox "你输入的数字为:1" Case 2 Msgbox "你输入的数字为:2" Case 3 Msgbox "你输入的数字为:3" Case Else Msgbox "你输入的数字不正确,请输入(0~3)数字!" End Select 5、下拉型用户自定义 //说明:{}当中是下拉的选项=0是指的默认显示哪个选项(从0开始) UserVar Var1=DropList{"低于10%时补血":"0.1"|"低于20%时补血":"0.2"|"低于30%时补血":"0.3"}=2 "自动补血设置" UserVar Var2=0 "普通自定义变量" MessageBox(Var1) MessageBox(Var2) 6、退出脚本运行演示

游戏脚本技术:按键精灵辨识字体

游戏脚本技术:按键精灵辨识字体 来源:按键学院【按键精灵】当游戏里需要识别的文字量很大,而又不知道是什么字体,无法制作字库的时候, 我们该怎么办呢? 难道就甘心逐个提取文字点阵制作字库吗? 想想那工作量就吓尿~ 例子 假如我们要做《神武》游戏的自动任务脚本,我们需要识别下图中红框部分的文字,识别到之后点击文字即可自动寻路到任务处。 我们先用大漠综合工具提取一个字的点阵, 这里我们提取“门派指引人”中的门字 这里要注意,我们截图的时候,门字下面的下划线不能截取 第一步:截图之后,我们取文字颜色 第二步:点击提取单个点阵 第三步:在定义文字输入框里输入“门”字 第四步:点击回车添加到当前字库 第五步:右击我们新添加的门字选择查询系统字库 看啊!它说可能的字体有那么多。。。 这。。如果只有几个可能的字体,我们还可以一个个测下来 这么多的话。。 测还是要测,但是怎么测才能节省成本呢?

PS:如果弹出的结果是,在系统库里没有发现这个字 也可以用下面的处理方法,千万不能放弃治疗 有的情况下,大漠工具会有识别不出的情况 肉眼点阵比较法 我们知道有很多游戏,它的字体使用的就是我们的系统字体 而我们又知道大多数游戏里的字体是9号字 好,小编的系统是微软雅黑字体的 打开记事本,输入门字,然后把记事本的字体设置为微软雅黑9号字,接着截取记事本里的门字的点阵和游戏的对比 记事本: 游戏中: 点阵差那么多,一看就知道不是了。 那么我们就试试宋体9号字 为什么是宋体?因为普遍的游戏用的是宋体字 记事本: 游戏中: 哈哈~点阵对上了,就是宋体9号字~ 指定生成字库法 如果是要用大漠综合工具生成系统字库之后,再加载到脚本里去找字 这样太麻烦了,而且每次生成字库花费的时间还多 所以,我们使用GetDictInfo 函数然后创建指定的文字 小编利用GetDictInfo函数,做了一个简单的测字体脚本,方便大家测字

按键精灵

7、以下命令哪个可以终止所有线程运行并停止脚本。D A. EndScript B. StopThread 线程ID C. PauseThread 线程ID D. ExitScript 8、执行Call Plugin.File.WriteINI("Command", "Val", "内容", ".\Config.ini") 命令后,IsFile = Plugin.File.IsFileExit(".\Config.ini")返回值是?B A. 1 B. 0 C. False D. True 9、如果有多个重复标题的窗口,以下哪个命令能够直接获取到所有对应窗口的句柄?D A. Plugin.Window.Search B. Plugin.Window.Foreground C. Plugin.Window.MousePoint D. Plugin.Window.FindEx 10、选出返回值与其他三种不一样的选项。B A. FindColor B. GetPixelColor C. FindCenterColor D. FindPic 23、myarray=Array(1,2,3,4,5),那么myarray(4)的值为?A A. 5 B. 3 C. 6 D. 4 2、以下哪一个命令需要绑定WQM 使用? 8、执行Call Plugin.File.WriteINI("Command", "Val", "内容", ".\Config.ini")命令后,IsFile = Plugin.File.IsFileExit(".\Config.ini")返回值是?9、如果有多个重复标题的窗口,以下哪个命令能够直接获取到所有对应窗口的句柄? 16、以下无法获取句柄的命令是?22、数组MyArray(5)的最大可用下标为? 1. 以下哪一个变量不可能是数组?C A. Dim MyArray B. Dim MyArray(5,5) C. Const MyArray=2 D. Dim MyArray() 2.True的值是?b A. 1 B. -1 C. -2 D. 0 3.以下命令无法改变窗口大小的是?A A. Call Plugin.Window.Move(Hwnd, 100, 100) B. Call Plugin.Window.Min(Hwnd) C. Call Plugin.Window.Restore(Hwnd) D. Call Plugin.Window.Max(Hwnd) 4.下列哪一个命令可以发送字符串?D A. SendKeyDown B. SendKeyPress C. SendKeyUp D. SendString 5.返回已添加指定时间间隔的日期应使用下列哪一个函数?B A. Date 函数 B. DateDiff 函数 C. DateAdd 函数 D. DatePart 函数6下列哪一个函数可以取数组最大可用下标?B A. Array B. Ubound C. Lbound D. Split 7.选出下列返回值类型不一样的选项。A A. Join(arr) B. Asc(n) C. InStr(str,str) D. Len(n) 8.对于按键精灵与VBS的描述正确的是?A A. 按键精灵可以直接调用VBS命令 B. VBS可以直接调用按键精灵命令 C. 按键精灵等同于VBS D. 按键精灵为VBS的附属语言9.以下哪一个命令会出错?B A. TracePrint Cstr(32768) B. TracePrint Cint(32768) C. TracePrint Clng(32768) D. TracePrint Cos(32768) 10.以下哪一个不是变量名的命名规则?D A. 不能以数字开头B. 最多只能有255 个字符 C. 不能包含嵌入的句点或类型声明字符 D. 变量名不能包含下划线11、以下哪一个不是数学函数?A A. Ccur B. Sgn C. Rnd D. Abs 12.Join命令的参数类型是?B A. 对象 B. 数组 C. 字符串 D. 数字13.下列哪一个常数是回车换行符?C A. vbNullChar B. vbLf C. vbCrLf D. vbCr 14.Hex函数的返回值类型是?B A. 短整型 B. 字符串 C. 长整型 D. 数组15.以下选项中不符合调用规则的是?C A. Asc(12) B. Asc(21) C. Asc(F1) D. Asc(1) 16.关于自定义变量的描述以下哪一个是正确的?C A. 自定义变量可以是类 B. 自定义变量可以是对象 C. 自定义变量可以是数字或者字符串 D. 自定义变量可以是数组17.ExitOS命令中,以下描述错误的是?B A. 可执行重启 B. 可执行待机 C. 可执行关机 D. 可执行注销18.数组MyArray(5)包含的元素个数为?C A. 0 B. 6 C. 1 D. 5 19.132 Mod 13 的值为?C A. 3 B. 4 C. 2 D. 0 20.关于后台坐标的描述哪一个是不正确的?C A. 后台坐标是由后台横坐标和后台纵坐标构成的 B. 后台坐标只针对窗体内生效C. 后台坐标可以通过前台坐标减去窗体客户区起点坐标得出 D. 后台坐标在窗体内是不会变化的21.关于事件描述错误的是?C A. 事件子程序会在事件触发时被调用 B. 事件子程序可以调用其他子程序 C. 事件子程序的参数可以是任意多个 D. 事件子

学习脚本制作:按键精灵让QUI界面如此炫酷

学习脚本制作:按键精灵让QUI界面如此炫酷 来源:按键学院【按键精灵】脚本功能很好用,但是那乱得让人有尿意的界面……总是让人闻风丧胆有木有?吓哭小孩子有木有?脚本的界面可以说是脚本的门面,要长得好看才能吸引更多怪蜀黍~ 只要咱们懂得利用控件,尽情挥洒咱的无限创作力,一定可以让QUI界面更骚气~ 滑动界面 骚气值:五颗星,很骚气 功能:鼠标点击界面滑动,切换到其它页面 效果演示: 主要控件 标签、定时器、选项卡、单选框、热键

代码: Dim x1,x2,y1,y2,选项,选项记录 Event Form1.Load Form1.Hotkey1.Register True Form1.Timer1.Enabled = False //默认定时器是启动状态,所以要先停止 Form1.Timer1.Interval = 120 //设置定时器循环的间隔时间(单位:毫秒) 选项=Form1.TabControl1.T ab Call 单选框显示() End Event Event https://www.360docs.net/doc/9e284148.html,bel1.Click GetCursorPos x1, y2 选项记录=Form1.TabControl1.Tab Form1.Timer1.Enabled = False //防止被重复启动定时器 Form1.Timer1.Enabled = True End Event Event Form1.Hotkey1.Hotkey Form1.Timer1.Enabled = False End Event Event Form1.Timer1.Timer Dim d GetCursorPos x2, y2 d = (x2 - x1) \ 70 +选项记录 If d >=0 and d<=4 Then Form1.T abControl1.Tab = d End If Call 单选框显示() End Event Sub 单选框显示() 选项=Form1.TabControl1.T ab Select Case 选项 Case 0 Form1.OptionBox1.Value = 1 Case 1 Form1.OptionBox2.Value = 1 Case 2 Form1.OptionBox3.Value = 1 Case 3 Form1.OptionBox4.Value = 1 Case 4 Form1.OptionBox5.Value = 1 Case Else End Select End Sub

按键精灵[命令函数]说明

按键精灵[命令函数]说明 [KeyPress] 格式: KeyPress {键盘虚拟码} {次数} 解释:先“按下”再“弹起”键,模拟我们平时的“按键”操作. 我们在使用键盘的时候有两种操作,一种是”按下”键,一种是”弹起”键. 将这两个动作连续进行,就是一个完整的”按键”动作.按键精灵可以模拟所有的键盘动作. [KeyDown] 格式: KeyDown {键盘虚拟码} {次数} 解释: “按下”键,模拟我们平时的“按下”操作 注意:有些键在按下之后,会和其他键产生组合效果,比如“Alt/Ctrl/Shift”, 如果使用“按下Alt”命令,那么之后的“按键”动作将变成“Alt+A”等组合动作, 因此记得在必要时使用“弹起”命令将组合键释放,避免影响键盘的正常使用. [KeyUp] 格式: KeyUp {键盘虚拟码} {次数} 解释:“弹起”键,模拟我们平时的“弹起”操作 [KeyPressH] 格式: KeyPressH {键盘虚拟码} {次数} 解释: 硬件模拟按键,与KeyPress功能类似,先“按下”再“弹起”键,但采取了硬件模拟的方式在某些情况下普通模拟按键命令会失效,不妨试试硬件模拟命令 [KeyDownH] 格式: KeyDownH {键盘虚拟码} {次数} 解释: 硬件模拟按下,与KeyDown功能类似,“按下”键,但采取了硬件模拟的方式 在某些情况下普通模拟按键命令会失效,不妨试试硬件模拟命令 [KeyUpH] 格式: KeyUpH {键盘虚拟码} {次数} 解释: 硬件模拟弹起,与KeyUp功能类似,“弹起”键,但采取了硬件模拟的方式 在某些情况下普通模拟按键命令会失效,不妨试试硬件模拟命令 [LeftClick] 格式:LeftClick {次数} 解释:在鼠标当前位置模拟点击鼠标左键.{次数}可以控制点击的次数 [RightClick] 格式:RightClick {次数} 解释:在鼠标当前位置模拟点击鼠标右键. [MiddleClick]

相关文档
最新文档