您的位置:首页 > 编程语言 > VB

Visual Basic 2005 - 如何与其它软件互动

2006-11-03 10:34 429 查看
读者 wayne 询问,能否开启某个软件(可能是非微软的软件),并于程序中去操作或是控制这软件吗?比如按下窗口的 yes 按钮或是关掉该软件的子窗口呢。

其实我们曾经在Visual Basic 2005文件IO与数据存取秘一书讨论过「如何送按键给它应用程序」,wayne 的需求可能与其有点类似。于此,我再举一个例子来说明。

以下的程序代码会启动Ulead PhotoImpact 11,开启 PhotoImpact 11 之后,接着会从「文件」菜单中选取「开启」指令、然后于「开启」对话框中选取并开启 C:\Program Files\Ulead Systems\Ulead PhotoImpact 11\Samples\Golf.ufo文件,最后再从「文件」菜单中选取「另存新文件」指令并以 C:MyGolf.ufo 作为新文件名称来将其存盘:

' 启动PhotoImpact 11
Dim myProcess As Process = System.Diagnostics.Process.Start( _
"C:\Program Files\Ulead Systems\Ulead PhotoImpact 11\Iedit.exe")

myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal

' 先等待直到目标程序已经准备好输入...
myProcess.WaitForInputIdle(1000)

' 以下的程序代码会依序完成开档与另存新文件的作业
If myProcess.Responding Then
My.Computer.Keyboard.SendKeys("%FO", True)
My.Computer.Keyboard.SendKeys( _
"C:Program Files\Ulead Systems\Ulead PhotoImpact 11\Samples\Golf.ufo", _
True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
My.Computer.Keyboard.SendKeys("%F", True)
My.Computer.Keyboard.SendKeys("%F", True)
My.Computer.Keyboard.SendKeys("{DOWN}", True)
My.Computer.Keyboard.SendKeys("A", True)
My.Computer.Keyboard.SendKeys("C:MyGolf.ufo", True)
My.Computer.Keyboard.SendKeys("%S", True)
End If
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: