VBScript

开源公司:微软公司

作品详情

中文名称
VBScript
展开
外文名称
VisualBasic Script
展开




1产品应用





脚本用于动态网页制作,在HTML(超文本标记语言)中插入脚本,可以使网页有一些动态效果,还可以实现一些交互操作,例如,目前在登录一个网站时通常要输入验证码,而使用脚本语言就可以对验证码进行有效性验证。网页上最常用的是JavaScript、VBScript 这两种脚本语言。


脚本语言的特点为:


1)简单易学。2)解释性语言。3)集成成熟技术。


VBScript是 Visual Basic Script 的简称,即 Visual Basic 脚本语言,有时也被缩写为 VBS。


VBScript 是微软开发的一种脚本语言。使用 VBScript,可通过 Windows 脚本宿主调用 COM,所以可以使用 Windows 操作系统中可被使用的程序库。


VBScript 一般被用在以下个方面:VBScript 经常被用来完成重复性的Windows 操作系统任务;用来指挥客户方的网页浏览器。在这一方面,VBS 与JavaScript 是竞争者,因为本文的实验环境基于 Window 平台,为了达到更好的兼容性和性能选用 VBScript。


由于VBScript可以通过Windows脚本宿主调用COM,因而可以使用Windows操作系统中可以被使用的程序库,比如它可以使用Microsoft Office的库,尤其是使用MicrosoftAccess和MicrosoftSQL Server的程序库,当然它也可以使用其它程序和操作系统本身的库。


VBScript是基于Visual Basic程序语言的脚本语言,是IIS(互联网信息服务,InternetInformation Services)的默认源程序语言。VBScript最开始是通过事件驱动来扩展客户端HTML的功能,可在网页上处理、控制对象,它能与HTML页面很好的结合使用,VBScript可是操作HTML页面,还可对页面中的事件做出响应。另外,VBScript还提供了一些应用对象,使编写者更方便地编写脚本,用于实现一些特有功能。




2VBScript函数




本页列出了所有内建的 VBScript 函数,主要分为以下几类:[1]



Date/Time函数



































































































函数描述
CDate把有效的日期和时间表达式转换为日期(Date)类型。
Date返回当前的系统日期。
DateAdd返回已添加指定时间间隔的日期。
DateDiff返回两个日期之间的时间间隔数。
DatePart返回给定日期的指定部分。
DateSerial返回指定年、月、日的日期。
DateValue返回日期。
Day返回代表一月中的一天的数字(介于并包括 1 到 31 之间)。
FormatDateTime返回格式化为日期或时间的表达式。
Hour返回代表一天中的小时的数字(介于并包括 0 到 23 之间)。
IsDate返回指示计算表达式能否转换为日期的布尔值。
Minute返回一个数字,代表小时的分钟(介于并包括 0 到 59 之间)。
Month返回一个数字,代表年的月份(介于并包括 1 到 12 之间)。
MonthName返回指定月份的名称。
Now返回当前的系统日期和时间。
Second返回一个数字,代表分钟的秒(介于并包括 0 到 59 之间)。
Time返回当前的系统时间。
Timer返回自 12:00 AM 以来的秒数。
TimeSerial返回特定小时、分钟和秒的时间。
TimeValue返回时间。
Weekday返回一个数字,代表一周的天数(介于并包括 1 到 7 之间)。
WeekdayName返回一周中指定的一天的星期名。
Year返回一个数字,代表年份。



Conversion函数



























































函数描述
Asc把字符串中的首字母转换为 ANSI 字符代码。
CBool把表达式转换为布尔(Boolean)类型。
CByte把表达式转换为字节(Byte)类型。
CCur把表达式转换为货币(Currency)类型。
CDate把有效的日期和时间表达式转换为日期(Date)类型。
CDbl把表达式转换为双精度(Double)类型。
Chr把指定的 ANSI 字符代码转换为字符。
CInt把表达式转换为整数(Integer)类型。
CLng把表达式转换为长整型(Long)类型。
CSng把表达式转换为单精度(Single)类型。
CStr把表达式转换为字符串(String)类型。
Hex返回指定数字的十六进制值。
Oct返回指定数字的八进制值。



Format函数























函数描述
FormatCurrency返回作为货币值进行格式化的表达式。
FormatDateTime返回作为日期或时间进行格式化的表达式。
FormatNumber返回作为数字进行格式化的表达式。
FormatPercent返回作为百分数进行格式化的表达式。



Math函数































































函数描述
Abs返回指定数字的绝对值。
Atn返回指定数字的反正切。
Cos返回指定数字(角度)的余弦。
Exp返回e(自然对数的底)的幂次方。
Hex返回指定数字的十六进制值。
Int返回指定数字的整数部分。
Fix返回指定数字的整数部分。
Log返回指定数字的自然对数。
Oct返回指定数字的八进制值。
Rnd返回小于1但大于或等于0的一个随机数。
Sgn返回可指示指定数字的符号的一个整数。
Sin返回指定数字(角度)的正弦。
Sqr返回指定数字的平方根。
Tan返回指定数字(角度)的正切。



Array函数



































函数描述
Array返回一个包含数组的变量。
Filter返回下标从零开始的数组,其中包含基于特定过滤条件的字符串数组的子集。
IsArray返回一个指示指定的变量是否为数组的布尔值。
Join返回一个由数组中若干子字符串组成的字符串。
LBound返回指示数组维数的最小下标。
Split返回下标从零开始的一维数组,包含指定数量的子字符串。
UBound返回指示数组维数的最大下标。



String函数







































































函数描述
InStr返回字符串在另一字符串中首次出现的位置。搜索从字符串的第一个字符开始。
InStrRev返回字符串在另一字符串中首次出现的位置。搜索从字符串的最末字符开始。
LCase把指定字符串转换为小写。
Left从字符串的左侧返回指定数量的字符。
Len返回字符串中的字符数量。
LTrim删除字符串左侧的空格。
RTrim删除字符串右侧的空格。
Trim删除字符串左侧和右侧的空格。
Mid从字符串中返回指定数量的字符。
Replace使用另一个字符串替换字符串的指定部分指定的次数。
Right从字符串的右侧返回指定数量的字符。
Space返回由指定数量的空格组成的字符串。
StrComp比较两个字符串,返回代表比较结果的一个值。
String返回包含指定长度的重复字符的字符串。
StrReverse反转字符串。
UCase把指定的字符串转换为大写。



其他函数



























































































函数描述
Create Object创建指定类型的对象。
Eval计算表达式,并返回结果。
Get Locale返回当前的 locale ID。
Get Object返回对文件中 automation 对象的引用。
Get Ref允许您把 VBScript 子程序连接到页面上的一个 DHTML 事件。
Input Box显示对话框,用户可在其中输入文本,并/或点击按钮,然后返回内容。

Is Empty
返回一个布尔值,指示指定的变量是否已被初始化。
Is Null
返回一个布尔值,指示指定的表达式是否包含无效数据(Null)。
Is Numeric返回一个布尔值,指示指定的表达式是否可作为数字来计算。
Is Object返回一个布尔值,指示指定的表达式是否是一个 automation 对象。
Load Picture返回一个图片对象。仅用于 32 位平台。
Msg Box显示消息框,等待用户点击按钮,并返回指示用户点击了哪个按钮的值。
RGB返回一个表示 RGB 颜色值的数字。
Round对数字进行四舍五入。

Script Engine
返回使用中的脚本语言。
Script Engine Build Version返回使用中的脚本引擎的内部版本号。
Script Engine Major Version返回使用中的脚本引擎的主版本号。
Script Engine Minor Version返回使用中的脚本引擎的次版本号。
Set Locale设置 locale ID,并返回之前的 locale ID。
Type Name返回指定变量的子类型。
Var Type返回指示变量子类型的值。



3应用领域






操作系统


的程序码可以任意混合。HTA文件实际上是加有VBS、JavaScript成分的HTML文件。CHM文件是一种在线帮助,用户可以使用专门的编辑程序将HTML程序编辑为CHM。




网页浏览器


网页中的VBS可以用来指挥客户方的网页浏览器(浏览器执行VBS程序)。VBS与JavaScript在这一方面是竞争者,它们可以用来实现动态HTML,甚至可以将整个程序结合到网页中来。至今为止VBS在客户方面未能占优势,因为它只获得Microsoft Internet Explorer的支持(Mozilla Suite可以通过装置一个外挂来支持VBS)。而JavaScript则受到所有网页浏览器的支持。在Internet Explorer中VBS和JavaScript使用同样的权限,它们只能有限地使用Windows操作系统中的对象。




网页服务器


在网页服务器方面VBS是微软的Active Server Pages的一部分,它与JavaServer Pages和PHP是竞争对手。在这里VBS的程序码直接嵌入到HTML页内,这样的网页以ASP结尾。网页服务器Internet信息服务执行ASP页内的程序部分并将其结果转化为HTML传递给网页浏览器供用户使用。这样服务器可以进行数据库闻讯并将其结果放到HTML网页中。




4数据类型





VBScript 只有一种数据类型,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。


最简单的


最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 VBScript 将按字符串处理。也可以将数字包含在引号 (" ") 中使其成为字符串。


子类型


除简单数字或字符串以外,Variant 可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。从 Boolean 值到浮点数,数值信息是多种多样的。Variant 包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进 Variant 中,而 Variant 也会按照最适用于其包含的数据的方式进行操作。


描述


Empty 未初始化的 Variant。对于数值变量,值为 0;对于字符串变量,值为零长度字符串 ("")。


Null 不包含任何有效数据的 Variant。


Boolean 包含 True 或 False。


Byte 包含 0 到 255 之间的整数。


Integer 包含 -32,768 到 32,767 之间的整数。


Currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。


Long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。


Single 包含单精度浮点数,负数范围从 -3.402823E38 到 -1.401298E-45,正数范围从 1.401298E-45 到 3.402823E38。


Double 包含双精度浮点数,负数范围从 -1.79 769 31348 6232E308 到 -4.9406564 5841247E-324,正数范围从 4.9406564 5841247E-324 到 1. 7976931 3486232E308。


Date (Time) 包含表示日期的数字,日期范围从公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。


String 包含变长字符串,最大长度可为 20 亿个字符。


Object 包含对象。


Error 包含错误号。




错误代码



Microsoft VBScript编译器错误 错误 '' 缺少语句


ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)


MicrosoftOLEDBPRoviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库


MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E37)-->没有发现表


MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)


MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)


MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)


MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop


MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif


MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")")


MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)


MicrosoftVBscript运行时错误(0x800A005B)-->缺少set


MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义


MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then


MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误


MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误(?????????????????)


Microsoft VBScript 运行时错误 (0x800A01B6)错误原因:set rs=server.create......你少了 set


ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)


ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)


ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)


ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)


ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名)


ADODB.Recordset(0x800A0E7D)-->conn定义错误


ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据





语法错误



如果 VBScript 语句结构违反了一个或多个 VBScript脚本语言语法规则,就会产生 VBScript 语法错误。


错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:


错误编号 描述


十进制 十六进制 说明


1001 800A03E9内存不足


1002 800A03EA 语法错误


1003 800A03EB 缺少“:”


1005 800A03ED 需要 '('


1006 800A03EE 需要 ')'


1007 800A03EF 缺少“]”


1010 800A03F2 需要标识符


1011 800A03F3 需要 '='


1012 800A03F4 需要 'If'


1013 800A03F5 需要 'To'


1014 800A03F6 需要 'End'


1015 800A03F7 需要 'Function'


1016 800A03F8 需要 'Sub'


1017 800A03F9 需要 'Then'


1018 800A03FA 需要 'Wend'


1019 800A03FB 需要 'Loop'


1020 800A03FC 需要 'Next'


1021 800A03FD 需要 'Case'


1022 800A03FE 需要 'Select'


1023 800A03FF 需要表达式


1024 800A0400 需要语句


1025 800A0401 需要语句的结束


1026 800A0402 需要整数常数


1027 800A0403 需要 'While' 或 'Until'


1028 800A0404 需要 'While,'、 'Until,' 或语句未结束


1029 800A0405 需要 'With'


1030 800A0406标识符太长


1031 800A0407 无效的数


1032 800A0408 无效的字符


1033 800A0409 未结束的串常量


1034 800A040A 未结束的注释


1037 800A040D 无效使用关键字'Me'


1038 800A040E 'loop' 没有 'do'


1039 800A040F 无效 'exit' 语句


1040 800A0410 无效 'for' 循环控制变量


1041 800A0411 名称重定义


1042 800A0412 必须为行的第一个语句


1043 800A0413 不能赋给非Byval参数


1044 800A0414 调用 Sub 时不能使用圆括号


1045 800A0415 需要文字常数


1046 800A0416 需要 'In'


1047 800A0417 需要 'Class'


1048 800A0418 必须在一个类的内部定义


1049 800A0419 在属性声明中需要 Let , Set 或 Get


1050 800A041A 需要 'PRoperty'


1051 800A041B 参数数目必须与属性说明一致


1052 800A041C 在类中不能有多个缺省的属性/方法


1053 800A041D 类初始化或终止不能带参数


1054 800A041E PRoperty Let 或 Set 至少应该有一个参数


1055 800A041F 不需要的 'Next'


1056 800A0420 只能在 ‘PRoperty’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default’


1057 800A0421 说明 'Default' 必须同时说明 'Public' "


1058 800A0422 只能在 PRoperty Get 中指定 'Default'





运行错误



如果 VBScript脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有在运行脚本、为变量表达式赋值或


分配内存时,才会产生 VBScript 运行时错误。 以下是65个运行时错误:


错误编号 描述


十进制 十六进制 说明


5 800A0005 无效过程调用或参数


6 800A0006 溢出


7 800A0007内存不足


9 800A0009下标越界


10 800A000A 该数组为定长的或临时被锁定


11 800A000B 被零除


13 800A000D类型不匹配


14 800A000E 字符串空间溢出


17 800A0011 无法执行请求的操作


28 800A001C堆栈溢出


35 800A0023 未定义 Sub 或 Function


48 800A0030 加载 DLL 错误


51 800A0033 内部错误


52 800A0034 坏文件名或数


53 800A0035 文件未找到


54 800A0036 坏文件模式


55 800A0037 文件已经打开


57 800A0039 设备I/O错误


58 800A003A 文件已经存在


61 800A003D 磁盘空间已满


62 800A003E 输入超出文件尾


67 800A0043 文件太多


68 800A0044 设备不可用


70 800A0046 权限禁用


71 800A0047 磁盘未准备好


74 800A004A 不能用不同的驱动器重新命名


75 800A004B路径/文件访问错误


76 800A004C 路径未找到


91 800A005B 未设置对象变量


92 800A005C For 循环未初始化


94 800A005E 非法使用 Null


322 800A0142 不能建立所需临时文件


424 800A01A8 需要对象


429 800A01AD ActiveX 部件无法创建对象


430 800A01AE类不支持自动化


432 800A01B0 在自动化操作中未找到文件名或类名


438 800A01B6 对象不支持该属性或方法


440 800A01B8 Automation错误


445 800A01BD 对象不支持此操作


446 800A01BE 对象不支持指定的参数


447 800A01BF 对象不支持当前的区域设置


448 800A01C0 未找到命名参数


449 800A01C1 参数不可选


450 800A01C2 错误的参数个数或无效的参数属性值


451 800A01C3 对象不是一个集合


453 800A01C5 指定的dll函数未找到


455 800A01C7 代码源锁错误


457 800A01C9 这个键已经是本集合的一个元素关联


458 800A01CA变量使用了一个 VBScript 中不支持的自动化(Automation)类型


462 800A01CE 远程服务器不存在或不能访问


481 800A01E1 无效图片


500 800A01F4 变量未定义


501 800A01F5 违法的分配


502 800A01F6脚本对象不安全


503 800A01F7 对象不能安全初始化


504 800A01F8 对象不能安全创建


505 800A01F9 无效的或不合格的引用


506 800A01FA 类未被定义


507 800A01FB 发生异常


5016 800A1398 需要正则表达式对象


5017 800A1399正则表达式中的语法错误


5018 800A139A 错误的数量词


5019 800A139B 在正则表达式中需要 ']'


5020 800A139C 在正则表达式中需要 ')'


5021 800A139D字符集越界


32811 800A802B 元素未找到





5脚本





什么是VBScript


VBScript 是一种脚本语言


脚本语言是一种轻量级的编程语言


VBScript 是微软的编程语言 Visual Basic 的轻量级的版本


如何工作


当VBScript 被插入一个 HTML 文档后,因特网浏览器会读取这个文档,并对 VBScript 进行解释。VBScript 可能会立即执行,也可能在之后的事件发生时执行。


读取 VBScript


变量名称的规则


必须以字母开头


不能包含点号 (.)


不能超过 255 个字符


条件语句


经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作。我们可以使用条件语句完成这个工作。


在 VBScript 我们可以使用三种条件语句:


if 语句假如你希望在条件为 true 时执行一系列的代码,可以使用这个语句。


if...then...else 语句假如你希望执行两套代码其中之一,可以使用这个语句。


if...then...elseif 语句假如你希望选择多套代码之一来执行,可以使用这个语句。


select case 语句假如你希望选择多套代码之一来执行,可以使用这个语句。


例子


If....Then.....Else


在下面的情况中,您可以使用 If...Then...Else 语句:


在条件为 true 时,执行某段代码


选择两段代码之一来执行时


如果需要在条件为 true 时只执行一行语句,可以把代码写为一行:


在上面的代码中,没有 .else.. 语句。我们仅仅让代码在条件为 true 时执行一项操作(当 i 为 10 时)。


假如我们需要在条件为 true 时执行不止一条语句,那么就必须在一行写一条语句,然后使用关键词 "End If" 来结束这个语句:


在上面的代码中,同样没有 .else.. 语句。我们仅仅让代码在条件为 true 时执行了多项操作。


假如我们希望在条件为 true 时执行某条语句,并当条件不为 true 时执行另一条语句,就必须添加关键词 "Else":


当条件为 true 时会执行第一段代码,当条件不成立时执行第二段代码(当 i 不等于 10 时)。


If....Then.....Elseif


假如你希望选择多套代码之一来执行,可以使用if...then...elseif语句:


Select Case


假如你希望选择多套代码之一来执行,可以使用 SELECT 语句:


以上代码的工作原理:首先,我们需要一个简单的表达式(常常是一个变量),并且这个表达式会被做一次求值运算。然后,表达式的值会与每个 case 中的值作比较,如果匹配,被匹配的 case 所对应的代码会被执行。




6系统管理示例






WSH的FileSystemObject管理驱动器和文件



枚举驱动器:


删除文件:





使用WMI管理计算机



查看c盘剩余空间


查看服务





使用ADSI管理域



读取OU中的服务器成员


读取用户账户的URL和电话号码





7优缺点






优点



由于VBScript由网页浏览器解释执行,不需要增大服务器的负担。


易学。


在所有2000 / 98SE以后的Windows版本都可直接使用。


可以使用其它程序和可使用的物件(尤其MicrosoftOffice)。





缺点



现在VBS无法作为电子邮件的附件了。MicrosoftOutlook拒绝接受VBS为附件,收信人无法直接使用VBS附件。


VBS的各种编辑程器不受欢迎。


操作系统没有任何特别的保护设施。VBS程序与其它JS、EXE、BAT或CMD程序一样对待。操作系统没有监察恶意功能的能力。




声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
负责项目:激活,设备更换,解绑等等。 负责模块:授权码和设备激活的开发、手工激活,设备更换申请和审批,解绑等等
字由是一款SAAS软件,依靠会员收入盈利。主要功能主要是字体授权以及更加方便用户使用字体。 基本功能有: 1,较好的字体分类,会员可以使用会员商用字体不用担心授权问题 2,激活/反激活字体,以及一键切换设计软件里面的字体 3,字体工具如AI识字,字体特效等增值服务
960pc客户端
字由是一款SAAS软件,依靠会员收入盈利。主要功能主要是字体授权以及更加方便用户使用字体。 基本功能有: 1,较好的字体分类,会员可以使用会员商用字体不用担心授权问题 2,激活/反激活字体,以及一键切换设计软件里面的字体 3,字体工具如AI识字,字体特效等增值服务
960pc客户端
该项目主要是用矢量网络分析仪测试S参数,实现自动测试,将测试结果保存,并按照相应的算法计算出指标判断是否合格。主要功能分工程管理、系统校准、自动测试和测试结果四个模块。系统校准主要是针对电子校准件实现一键校准。
1050WPF
智慧校园主要是提供给老师协助教学的辅助工具,具体功能有通知公告(定时刷新通知信息)、作业管理(展示当前布置的作业信息)、课程(当天课程表,并用颜色定位当前所在课程)等。该软件需实现透明窗体,依次在桌面右端悬浮显示。
1100WPF
当前共4128个项目

评论