利用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 在一个子命令解释器中运行一个应用程序,子命令解释器提供对StdIn、StdOut和StdErr流的访问
下面通过几个例子来实践演示下
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])
object:WshShell对象。
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
并隐藏窗口