VBS的RUN函数本身带三个参数docx.docx
- 文档编号:4487975
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:8
- 大小:19.92KB
VBS的RUN函数本身带三个参数docx.docx
《VBS的RUN函数本身带三个参数docx.docx》由会员分享,可在线阅读,更多相关《VBS的RUN函数本身带三个参数docx.docx(8页珍藏版)》请在冰豆网上搜索。
VBS的RUN函数本身带三个参数docx
VBS的RUN函数本身带三个参数•隐藏后台运行模式
VBS的RUN函数本身带三个参数■隐藏后台运行模式
1•代码事例:
DIMobjShell
setobjShell=wscript.createObject(nwscript.sheir')
iReturn=objShell.Run("cmd.exe/CC:
\addolcli\AddolC.exe",0,TRUE)
VBS的RUN函数本身带三个参数,第一个参数就是你要运行的程序
第二个参数就是用來控制运行窗口模式冇0-9模式
其中0是隐藏后台运行,6是最小化运行
具体可以参数MSDN帮助文档
SWHIDE0Hidesthewindowandactivatesanotherwindow.
SWMINIMIZE6Minimizesthespecifiedwindowandactivatesthenexttop-levelwindowintheZorder.
SWRESTORE9Activatesanddisplaysthewindow.Ifthewindowisminimizedormaximized,Windowsrestoresittoitsoriginalsizeandposition.Anapplicationshouldspecifythisflagwhenrestoringaminimizedwindow.
Run的第三个参数将允许我们防止相关程序以并发方式运行。
您可将笫三个参数赋值为True,以便指示脚本停留在使用Run方法的代码行并保持等待状态,直到已被激活的程序运行完毕。
我们已经知道了因未设定该参数所产生的后果,该参数在缺省状态下被设定为False,而这种设置必将导致两个程序同时运行。
也就是说TRUE值时必须等待这个脚本完成才运行其他程序,而false时可能还未运行完乂执行另外一个脚本
还有--种方式的隐藏运行
setws=wscript.createobject(',wscript.sheir)
ws.run"bat.bat/start",0
将上面代码写在记事木里保存扩展名为**.vbs。
以下是调用的批处理。
即是上而中的bat.bat文件。
@ECHOOFF
C:
\addolcli\AddolC.exe
@ECHOOFF
object.Run(strCommand,[intWindowStyle],[bWaitOnReturn])
参数
object
WshShell对象。
strCommand
表示要运行的命令行的字符串值。
必须包括要传递到可执行文件的所冇参数。
intWindowStyle
可选。
表示程序窗口外观的整数值。
请注意,并非所冇程序都使用此信息。
bWaitOnReturn
可选。
布尔值,衣示在继续执行脚本中的下一条语句Z前,脚本是否等待执行完程序。
如果设为true,则在执行完程序后才执行脚木,Run方法返回由程序返回的任何错误代码。
如果设为false(狱认值),则Run方法将口动在启动程序后立即返回0(不是错误代码)。
说明
Run方法返回一个整数。
Run方法启动在新Windows进程中运行的程序。
可以讣•脚本等到程序执行完后再继续执行。
这允许您同步运行脚木和程序。
strCommand参数内的环境变量口动扩展。
如果某个文件类型已正确注册到某个程序中,则对该类型的文件调用Run方法时将执行该程序。
例如,如果您的计算机系统中装冇Word,则对*.doc文件调用Run方法时将启动Word并加载该文档。
下农列出了intWindowStyle的可川设置。
intWindowStyle说明
0隐藏一个窗口并激活另一个窗口。
1激活并显示窗口。
如果窗口处于最小化或最人化状态,则系统将其还原到原始人小和位置。
第一次显示该窗口时,应用程序应指定此标志。
2激活窗口并将其显示为戢小化窗口。
3激活窗口并将英显示为最人化窗口。
4按最近的窗口大小和位置显示窗口。
活动窗口保持活动状态。
5激活窗口并按当前的大小和位置显示它。
6最小化指定的窗口,并按照Z顺序激活下一个顶部窗口。
7将窗口显示为最小化窗口。
活动窗口保持活动状态。
8将窗口显示为当前状态。
活动窗口保持活动状态。
9激活并显示窗口。
如果窗口处于最小化或最人化状态,则系统将其还原到原始大小和位置。
还原最小化窗口时,应用程序应指定此标志。
10根据启动应用程序的程序状态来设宙显示状态。
VBS中run和exec的区别
Setws=CreateObject(HWScript.ShelIu)'这里创建一个对彖引用,以便在以下示例代码中使用。
语法:
(常识:
作为过程使用时,不耍加括号,否则出现编译器错谋(参数唯一或没有时加括号不会出错,但建议不要加))
ws.Run(strCommand,[intWindowStyleJ,[bWaitOnReturnJ)
[SetobjExec=1ws.Exec(strCommand)
WScript.Shell对象的这两个方法都可以用来运行程序,且可以带参数。
都可以在程序路径中使用环境变量。
都不能为程序指定工作日录、不能设置优先级。
start命令可以。
要指定工作廿录,只能通过改变脚本宿主(WScript.exe/CScript.exe)的当前工作忖录:
ws.CurrentDirectory=”工作0录”
(常识:
工作目录有何意义:
1、有些程序需要相应FI录下的dll等和关文件支持2、相对路径问题)
1、nm可以直接运行文件(包括协议文件),会启动相关联的程序打开该文件(没有关联则出错)。
start有此功能(更高级,没有关联时会打开“打开方式”对话框)。
exec只能运行程序。
ws.run"c:
\boot.ini"
ws.exec"notepadc:
\boot.ini"
2、run不仅可以直接运行位于path环境变量目录中的程序,还能运行在注册表AppPaths中设置的程序“别名Ssunl有此功能。
exec不行,只能直接运行位于path环境变量目录中的程序。
ws.run"iexplore"'iexplore在AppPaths中登记了别名。
ws.exec"calcH
3、run可以等待程序运行结束再执行卜・面的命令。
start有此功能。
exec不行。
ws.run"notepad",,true
4、exec运行的程序路径中即使含有空格,也可以不加引号(参数如需引号,它的引号不能省略)。
run、start没有这个木领。
(常识:
vbs中一•个引号字符”本身要用两个引号表示,即写成””。
也可以用Chr函数得到引号:
chr(34))
ws.exec"C:
\ProgramFilesUnternetExplorerVEXPLORE.EXEH
ws.exec”””C:
\ProgramFiles\InternetExplorer\IEXPLORE.EXE”””
ws.run”””C:
\ProgramFilesUnternetExplorer\IEXPLORE.EXE
5、最大的区别是:
run着重于启动控制(设置窗口形式)。
(skill听名字知道是为了启动,也可以简单设置窗口最大化、最小化。
)
exec着重于后续控制,并着重于控制命令行程序。
run可以设置程序运行时的运行模式(前台后台:
是否隐藏窗口)、窗口大小、激活状态(是否获取"焦点"),具体参数请参考于册《Windows脚本技术》(Sc「ipt56.chm)屮关于run方法的说明。
exec在启动程序后还能对其进行控制:
获取运行状态、获取PID、强行中止进程。
如果运行的是命令行程序,还能提供对Stdln/StdOut/StdErr流的访问:
写入执行命令、获取命令输岀等。
运行命令行程序后只能通过Stdln写入命令,控制台窗口不再接受用户输入。
ws.run"notepad'1,0,隐藏窗口
ws.run"notepad11,4'运行后不激活,不打扰原来的活动窗口
注意,手册上明确指til,run不能约束所有程序都按它指定的窗口形式运行,有些程序不听它的话,比如iexplore、calc等。
运行ieplore时,它会夺取焦点成为活动窗口。
run无法以最小化运行calco
SetoExec=ws.Exec("mspaint")
WScript.EchooExec.Processld
oExec.Terminate
WScript.EchooExec.Status'0为运行,1为结束
SetoExec=ws.Exec("ipconfig")
WScript.EchooExec.StdOut.ReadAll
VBS包含的对象
2008年07月18星期五16:
47ADO对象
Corinection
Command
RecordSet
Record
Stream
Server.CreateObject("Scripting.FileSystemObject〃)
Server.CreateObject("Scripting.Dictionary")IlashTable
Server.CreateXObject("Word.Application7')//Server
ActiveXObject(Z/Word.Application〃)//Client
Server.CreateObject(z,Excel.Application7')//Server
ActiveXObject("Excel.Application")//Client
CreateObject("PowerPoint.Application'7)
Server.CreateObject(''Microsoft.XMLHTTP")
Server.CreateObject(''Microsoft.XMLDOM")
Server.CreateObjectCMSXML2.XMLHTTP.4.0〃)
Server.CreateObject(z,WScript・Shell")
Server.CreateObject("wscript.network")
Server.CreateObject(/ZMSWC.AdRotator")
CreateObject(,zExce1.Sheet")
MSFrontPage:
oFP二CreateObject(zzFrontPage.Application〃)
MSAccess:
oAccess=CreateObject("Access.Application")
CreateObject("PhotoShop.Application")
CreateObjectC'SQLDMO.SQLServer")
CreateObject("SQLDMO.Login")
CreateObject("SQLDMO.Backup")
CreateObject("SQLDMO.User")
Server.CreateObject("SQLDMO.BackupDevice〃)
Server.CreateObject(,ZSQLDMO.Database,z)
Server.CreateObject(Z,SQLDMO.Restore")
Server.CreateObject(''MSMQ.MSMQQucuclnfo,z)
CreateObject("MSMQ.MSMQQucry")
Server.CreateObject("ixsso.Query")
Server.CreateObject("ixsso.Util")
AccPacAdvantageCorporate:
oAccPac=CrcatcObjcct("ACCPAC.xapiScssionz,)
AccPacReportMasterforWindows:
oTmpApp=CreateObject(,zTmpromptu.Application.30")
BarTender:
oBarTender=CreateObject("BarTender.Applicati()n〃)
CrystaiReports:
oCRApplication二createobject(^CrystalRuntime.Application〃)
Thisdoesn'tinvokeanIDEactually.
EUDORA:
FaxMaker:
oFax=CREATEOBJECT(z/fmfaxapi.app1icationzz)
GroupWise:
oGroupWise=CrcatcObject(z,NovcllGroupWarcSession")
LotusNotcs:
oNotes二CreateObjectCNotes.NotesSession")
oNotes二CreateObject("Notes.NotesUTWorkspace")
oNotes二CreatcObjcct("Lotus.NotcssessiorT)(Domino5.0.3)
MSCommonDialog:
oCommmonDialog=CreatcObjcct(〃MSComDlg.CommonDialog")&&!
!
!
Youcan'tdircctlycreatethisobjectwithoutadevelopmentlicenee,sofordynamicallydoingitonanothermachine,seebelow.-一PeterCrabtree
MSInternetExplorer:
oIE二CreateObject(〃IntemetExplorer.Application")
IEAutomationExample
MSMapPoint:
oMapPoint二CreateObject(zzMapPoint.Application〃)
MSNMessenger:
oMessenger二CREATEOBJECT("MSNMessenger.MessengerApp")
MSNetMeeting:
oNetMeeling二CREATEOBJECT("nelmeeting.app.1〃)
MSOutlook:
oOutlook=CreateObject("Outlook.Application")
MSOutlookExpress:
None-ItisnotaCOMserver!
MSPowerPoint:
oPP二CrcateObjcct("PowcrPoint•Application")
MSProject:
oProj=CrcateObjcct("msProjcct.Appliestion")
MSSourceSafe:
oVSS=CreateObject(''SourceSafe.0z,)
MSWord:
oWord二CrcatoObject("Word.Appliestion")
MSVisio:
oVisio=CreatcObjcct("Visio.AppliestiorT)
MSVisualCPlusPlus:
(VC++)
oCpp二CreateObject("MSDev.Application")
MSVisualFoxpro:
oVFP二CreateObject(z,VisualFoxPro.Application^)
MSWindowsScriptingHost:
oWSH=CreateObject(z,WScript.Shell")
Novel1GroupWise:
oGroupWise=CreateObject(,zNovelIGroupWareSession")
PCAnywhere(host):
oPCAHost二CreateObject(,zWinAWSvr.BeHostDataManager,/)
PCAnywhere(remote):
oPCARem=CreateObject(/zWinAWSvr.RemoteDataManager,z)
QuickBooks:
RationalRosc:
oRose=CreateObjcct("Rose.Application")
TAPIFax:
oTAPIFax=CreatcObjcct('FaxScrver・FaxScrvcr')
WindowsShel1:
oWSII=CreateObject("Shell.Application")
WindowsMediaPlayer:
oWMP=CREATEOBJECTCWMPlayer.OCX")
oPlayList=oWmp.PlaylistCollcction.GetAll()
oWmp.currentPlaylist=oPlayList.Item(0)&&Zerobasedarray
*!
*Musicstarts!
WindowsMessenger:
oMcssengcr二CREATEOBJECT(^Messenger.McsscngcrApp/,)
WinFax:
oWinFax=CreateObject("WinFax.SDKSend")
WinPrint:
oWinPrint=CreateObject(,zWinPrint.WinPrintX,z)
SQL-DMOobject:
loSQL=CREATEOBJECTCSQLDMO.Application")
Others:
ScriptingShel1:
oShell=CreateObject("WScript.Shell")
ScriptingNetworkObject:
oNet二CrcatcObject(,zWScript.Nctwork")
ScriptingRegularExpressionParser:
oRcg=CreatcObjcct("VBScript.RegExp")SQLDMOSQLServer:
CreateObject("SQLDMO.SQLServer")
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBS RUN 函数 本身 三个 参数 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)