Process
Process用于执行外部程序。
属性
- File
指定要执行的文件。
- WaitForClose
逻辑型,设为True,直到关闭外部程序,才会执行接下来的代码。
- Arguments
命令行参数。
- Verb
字符型,要执行的动作。
- Verbs
返回一个字符数组,包括即将执行的文件支持哪些动作。
方法
- Start
开始执行。
- Close
关闭。
- WaitForInputIdle
等待程序启动完成并进入空闲状态。
- WaitForExit
等待程序运行结束并退出。
示例一
打开文件"C:\test.xls",代码非常简单:
Dim
Proc
As New Process
'定义一个新的Process
Proc.File = "C:\test.xls"
'指定要打开的文件
Proc.Start()
示例二
利用属性Verb可以设置打开的动作,不同的外部程序,支持的动作会不同,对于Excel文件,支持三个Verb动作:
Open: 打开,这也是默认的动作。
OpenAsReadOnly:以只读方式打开
Print:打印,完成打印后自动关闭
例如:
Dim
Proc
As New
Process
Proc.File
= "C:\test.xls"
Proc.Verb
= "Print"
'指定动作
Proc.Start()
上面的代码将打开文件c:\test.xls,然后执行打印命令,打印结束后自动关闭Excel。
如果要获得某一文件类型支持的全部Verb动作,可以参考下面的代码:
Dim
Proc As
New Process
Proc.File = "C:\test.txt"
For Each Verb As
String
in Proc.Verbs
Output.show(Verb)
Next
在命令窗口执行上面的代码,可以列出文本文件支持的verb动作。
示例三
下面的代码,列出了扩展名为Doc的文件所支持的动作。
Dim
Proc
As New Process
Proc.File = "C:\test.doc"
For each
Verb As
String
In Proc.Verbs
Output.Show(verb)
Next
示例四
下面的代码,调用记事本打开文件“c:\table.txt”。
Dim
Proc
As New
Process
Proc.File
= "Notepad.exe"
'指定要执行的文件
Proc.Arguments = "c:\table.txt"
'指定命令行参数
Proc.Start()
示例五
通过WaitForInputIdle,可以等待程序启动结束并进入空闲状态,然后向程序发送按键信息。
例如:
Dim
Proc
As New
Process
Proc.File
= "C:\table.txt"
Proc.Start
Proc.WaitForInputIdle() '等程序自动结束并进入空闲状态
Sendkeys.Send("I
Like Foxtable")
'发送按键信息
参考: SendKeys
示例六
Process不仅可以打开和执行文件,还可以用来打开网页:
Dim
Proc
As New Process
'定义一个新的Process
Proc.File = "http://bbs.foxtable.com"
'指定要打开的网页地址
Proc.Start()
甚至可以用来发送邮件:
Dim
Proc
As New Process
'定义一个新的Process
Proc.File = "mailto:zjtdr@21cn.net"
'邮件地址前要加上"mailto:"
Proc.Start()
本页地址:http://www.foxtable.com/webhelp/topics/0353.htm