VBS的RUN函数本身带三个参数.doc_第1页
VBS的RUN函数本身带三个参数.doc_第2页
VBS的RUN函数本身带三个参数.doc_第3页
VBS的RUN函数本身带三个参数.doc_第4页
VBS的RUN函数本身带三个参数.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VBS的RUN函数本身带三个参数-隐藏后台运行模式 VBS的RUN函数本身带三个参数-隐藏后台运行模式 1.代码事例:DIM objShell set objShell=wscript.createObject(wscript.shell) iReturn=objShell.Run(cmd.exe /C C:addolcliAddolC.exe, 0, TRUE) VBS的RUN函数本身带三个参数,第一个参数就是你要运行的程序 第二个参数就是用来控制运行窗口模式 有0-9模式 其中0是隐藏后台运行,6是最小化运行 具体可以参数MSDN帮助文档 SW_HIDE 0 Hides the window and activates another window. SW_MINIMIZE 6 Minimizes the specified window and activates the next top-level window in the Z order. SW_RESTORE 9 Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window. Run的第三个参数将允许我们防止相关程序以并发方式运行。您可将第三个参数赋值为True,以便指示脚本停留在使用Run方法的代码行并保持等待状态,直到已被激活的程序运行完毕。我们已经知道了因未设定该参数所产生的后果,该参数在缺省状态下被设定为False,而这种设置必将导致两个程序同时运行。也就是说TRUE值时必须等待这个脚本完成才运行其他程序,而false时可能还未运行完又执行另外一个脚本 还有一种方式的隐藏运行 set ws=wscript.createobject(wscript.shell) ws.run bat.bat /start,0 将上面代码写在记事本里保存扩展名为*.vbs 。 以下是调用的批处理。即是上面中的bat.bat文件。 ECHO OFF C:addolcliAddolC.exe ECHO OFFobject.Run(strCommand, intWindowStyle, bWaitOnReturn) 参数object WshShell 对象。 strCommand 表示要运行的命令行的字符串值。必须包括要传递到可执行文件的所有参数。 intWindowStyle 可选。表示程序窗口外观的整数值。请注意,并非所有程序都使用此信息。 bWaitOnReturn 可选。布尔值,表示在继续执行脚本中的下一条语句之前,脚本是否等待执行完程序。如果设为 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的区别Set ws = CreateObject(WScript.Shell) 这里创建一个对象引用,以便在以下示例代码中使用。语法:(常识:作为过程使用时,不要加括号,否则出现编译器错误(参数唯一或没有时加括号不会出错,但建议不要加)ws.Run(strCommand, intWindowStyle, bWaitOnReturn)Set objExec = ws.Exec(strCommand)WScript.Shell对象的这两个方法都可以用来运行程序,且可以带参数。都可以在程序路径中使用环境变量。都不能为程序指定工作目录、不能设置优先级。start命令可以。要指定工作目录,只能通过改变脚本宿主(WScript.exe/CScript.exe)的当前工作目录:ws.CurrentDirectory = 工作目录(常识:工作目录有何意义:1、有些程序需要相应目录下的dll等相关文件支持 2、相对路径问题)1、run可以直接运行文件(包括协议文件),会启动相关联的程序打开该文件(没有关联则出错)。start有此功能(更高级,没有关联时会打开“打开方式”对话框)。exec只能运行程序。ws.run c:boot.iniws.exec notepad c:boot.ini2、run不仅可以直接运行位于path环境变量目录中的程序,还能运行在注册表App Paths中设置的程序“别名”。start有此功能。exec不行,只能直接运行位于path环境变量目录中的程序。ws.run iexplore iexplore 在 App Paths 中登记了别名。ws.exec calc3、run可以等待程序运行结束再执行下面的命令。start有此功能。exec不行。ws.run notepad, , true4、exec运行的程序路径中即使含有空格,也可以不加引号(参数如需引号,它的引号不能省略)。run、start没有这个本领。(常识:vbs中一个引号字符本身要用两个引号表示,即写成。也可以用Chr函数得到引号:chr(34))ws.exec C:Program FilesInternet ExplorerIEXPLORE.EXEws.exec C:Program FilesInternet ExplorerIEXPLORE.EXEws.run C:Program FilesInternet ExplorerIEXPLORE.EXE5、最大的区别是:run着重于启动控制(设置窗口形式)。(start听名字知道是为了启动,也可以简单设置窗口最大化、最小化。)exec着重于后续控制,并着重于控制命令行程序。run可以设置程序运行时的运行模式(前台后台:是否隐藏窗口)、窗口大小、激活状态(是否获取“焦点”),具体参数请参考手册Windows 脚本技术(Script56.chm)中关于run方法的说明。exec在启动程序后还能对其进行控制:获取运行状态、获取PID、强行中止进程。如果运行的是命令行程序,还能提供对 StdIn/StdOut/StdErr 流的访问:写入执行命令、获取命令输出等。运行命令行程序后只能通过StdIn写入命令,控制台窗口不再接受用户输入。ws.run notepad, 0 隐藏窗口ws.run notepad, 4 运行后不激活,不打扰原来的活动窗口注意,手册上明确指出,run不能约束所有程序都按它指定的窗口形式运行,有些程序不听它的话,比如iexplore、calc等。运行ieplore时,它会夺取焦点成为活动窗口。run无法以最小化运行calc。Set oExec = ws.Exec(mspaint)WScript.Echo oExec.ProcessIdoExec.TerminateWScript.Echo oExec.Status 0为运行,1为结束Set oExec = ws.Exec(ipconfig)WScript.Echo oExec.StdOut.ReadAllVBS包含的对象2008年07月18日 星期五 16:47ADO对象ConnectionCommandRecordSetRecordStreamServer.CreateObject(Scripting.FileSystemObject)Server.CreateObject(Scripting.Dictionary) HashTableServer.CreateXObject(Word.Application) /ServerActiveXObject(Word.Application) /ClientServer.CreateObject(Excel.Application) /ServerActiveXObject(Excel.Application) /ClientCreateObject(PowerPoint.Application)Server.CreateObject(Microsoft.XMLHTTP)Server.CreateObject(Microsoft.XMLDOM)Server.CreateObject(MSXML2.XMLHTTP.4.0)Server.CreateObject(WScript.Shell)Server.CreateObject(work) Server.CreateObject(MSWC.AdRotator)CreateObject(Excel.Sheet)MS FrontPage: oFP = CreateObject(FrontPage.Application)MS Access: oAccess = CreateObject(Access.Application)MS Graph: oGraph = CreateObject(MSGraph.Application)CreateObject(PhotoShop.Application)CreateObject(SQLDMO.SQLServer)CreateObject(SQLDMO.Login)CreateObject(SQLDMO.Backup)CreateObject(SQLDMO.User)Server.CreateObject(SQLDMO.BackupDevice)Server.CreateObject(SQLDMO.Database)Server.CreateObject(SQLDMO.Restore)Server.CreateObject(MSMQ.MSMQQueueInfo)CreateObject(MSMQ.MSMQQuery)Server.CreateObject(ixsso.Query)Server.CreateObject(ixsso.Util)AccPac Advantage Corporate: oAccPac=CreateObject(ACCPAC.xapiSession)AccPac Report Master for Windows: oImpApp=CreateObject(Impromptu.Application.30)BarTender: oBarTender = CreateObject(BarTender.Application)CrystalReports: oCRApplication = createobject (CrystalRuntime.Application) This doesnt invoke an IDE actually.EUDORA: oEud = CreateObject(Eudora.EuApplication.1)FaxMaker: oFax = CREATEOBJECT(fmfaxapi.application)GroupWise:oGroupWise = CreateObject(NovellGroupWareSession)LotusNotes: oNotes = CreateObject(Notes.NotesSession)oNotes = CreateObject(Notes.NotesUIWorkspace)oNotes = CreateObject(Lotus.Notessession) (Domino 5.0.3)MS Common Dialog: oCommmonDialog = CreateObject(MSComDlg.CommonDialog) & ! You cant directly create this object without a development licence, so for dynamically doing it on another machine, see below. - PeterCrabtreeMS Internet Explorer: oIE = CreateObject(InternetExplorer.Application) IEAutomationExampleMS MapPoint:oMapPoint = CreateObject(MapPoint.Application)MSN Messenger:oMessenger = CREATEOBJECT(MSNMessenger.MessengerApp)MS NetMeeting:oNetMeeting=CREATEOBJECT(netmeeting.app.1)MS Outlook: oOutlook = CreateObject(Outlook.Application)MS Outlook Express: None - It is not a COM server!MS PowerPoint: oPP = CreateObject(PowerPoint.Application)MS Project: oProj = CreateObject(msProject.Application)MS SourceSafe: oVSS = CreateObject(SourceSafe.0)MS Word: oWord = CreateObject(Word.Application)MS Visio: oVisio = CreateObject(Visio.Application)MS VisualCPlusPlus: (VC+)oCpp = CreateObject(MSDev.Application)MS VisualFoxpro: oVFP = CreateObject(VisualFoxPro.Application)MS WindowsScriptingHost: oWSH = CreateObject(WScript.Shell) Novell GroupWise: oGroupWise = CreateObject(NovellGroupWareSession)PCAnywhere (host): oPCAHost = CreateObject(WinAWSvr.BeHostDataManager)PCAnywhere (remote): oPCARem = CreateObject(WinAWSvr.RemoteDataManager)QuickBooks: QBSessionManager = CreateObject(QBFC2.QBSessionManager)RationalRose: oRose = CreateObject(Rose.Application)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论