新浪博客

利用vbs 运行程序 并使窗口隐藏

2013-03-23 21:39阅读:
利用vbs 运行程序 并使窗口隐藏


利用vbs 运行程序 并使窗口隐藏
首先了解下 WshShell对象
Windows脚本宿主提供了一种便捷的方式,可以用于获取系统环境变量的访问、创建
快捷方式、访问Windows的特殊文件夹,如Windows Desktop,以及添加或删除注册表条
目。还可以使用Shell对象的功能创建更多的定制对话框以进行用户交互。


WshShell对象有三个属性:
CurrentDirectory
Environment
SpecialFolders

CurrentDirectory
该属性获取或更改当前活动目录
就是你当前运行脚本的目录

Environment
该属性返回WshEnvironment对象(一个环境变量集合)

SpecialFolders
该属性返回一个SpecialFolders对象(一个特殊文件夹集合)


WshShell对象的方法
11
AppActivate 用于激活一个指定的已经打开的应用程序窗口。
CreateShortcut 创建一个新的快捷方式,或打开一个已有的快捷方式。
ExpandEnvironmentStrings 返回环境变量的扩充值。
LogEvent 向日志文件中添加一个事件条目。
Popup 在弹出式消息框中显示文本。
RegDelete 删除注册表
RegRead 读取注册表
RegWrite 写入注册表
Run 在一个新进程中运行一个程序
SendKeys 活跃窗口发送一次或多次击键
Exec 在一个子命令解释器中运行一个应用程序,子命令解释器提供对StdInStdOutStdErr流的访问




下面通过几个例子来实践演示下

Dim wsh,motionPath,DesktopPath'定义变量

Set wsh = CreateObject('WScript.Shell') '创建一个WScript.Shell对象的实例

'CurrentDirectory 属性的使用
motionPath = wsh.CurrentDirectory '获得当前运行的目录 并把赋值给变量 motionPath
MsgBox motionPath

'Environment 属性的使用

Set wshEnv = wsh.Environment('System')'创建一个Environment对象

MsgBox wshEnv('OS')

'SpecialFolders属性的使用
DesktopPath = wsh.SpecialFolders('Desktop')
MsgBox DesktopPath

'AppActivate方法的使用 激活计算器
wsh.AppActivate 'calc'

'CreateShortcut方法的使用 创建一个快捷方式
Set cmdLnk = wsh.CreateShortcut(DesktopPath &'\myCmd.lnk')
cmdLnk.targetPath ='c:\windows\system32\cmd.exe'
cmdLnk.windowstyle = 3

cmdLnk.save

'run方法的使用

wsh.Run 'cmd',1
------------------------------------------------分割线-----------------------------------------

如何使程序运行并隐藏窗口呢

那就要使用run方法
run方法就详解..

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
objectWshShell对象。
strCommand:一个字符串,表示想要运行的命令行,必须包含所有要传递给可
执行文件的参数。
intWindowStyle:可选。一个整数值,表示程序窗口的外观。
bWaitOnReturn:可选。一个Boolean值,表示脚本在其下一条语句之前是否需
要等待程序结束。
WindowStyle
0 隐藏当前窗口并激活另一个窗口
1 激活并显示一个窗口 如果该窗口处于最小化或最大化状态,系统将恢复其原始尺寸
如果是初次显示该窗口,应用程序就应该指定这个标志
2 激活并以最小化状态显示窗口
3 激活并以最大化状态显示窗口
4 以其最近位置和尺寸显示一个窗口 活跃的窗口将继续保持活跃
5 以其当前位置和尺寸显示一个窗口
6 最小化指定的窗口并将其激活为Z序列中仅次于顶层的窗口
7 以最小化形式显示窗口 活跃的窗口将继续保持活跃
8 以其当前状态显示窗口 活跃的窗口将继续保持活跃
9 激活并显示窗口 如果该窗口处于最小化或最大化状态,系统将恢复其原始尺寸

根据参数可以知道 只要把WindowStyle 赋值为0 即可 隐藏窗口
Dim wsh
Set wsh = CreateObject('WScript.Shell') '创建一个WScript.Shell对象的实例
wsh.Run 'cmd',0运行CMD 并隐藏窗口

我的更多文章

下载客户端阅读体验更佳

APP专享