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
其实我们曾经在「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
相关文章推荐
- Visual Basic 2005 - 如何与其它软件互动
- Visual Basic 2005——如何在DataGridView控件的数据列标题上绘制编号
- Visual Basic 2005 - 如何建立一个主控描绘的TreeView控件
- Visual Basic 2005 - 用户询问如何绘制圆饼图
- Visual Basic 2005——如何绑定到一个IEnumerable数据来源
- Visual Basic 2005——如何将Windows Form表单模拟成一个IE浏览器
- Visual Basic 2005——如何在DataGridView控件的数据列标题上绘制编号
- Visual Basic 2005 - 如何格式化文字数据中的子字符串
- 如何检测iOS里安装的其它软件?
- Visual Basic 2005 - 如何格式化文字数据中的子字符串
- 用 vs2010等系列软件编程如何在当前的文件中include其它文件夹中的头文件
- Visual Basic 2005 - 如何于控件中捕捉按键
- Visual Basic 2005 下传输文件的简单方法。[菜鸟互动]
- Visual Basic 2005——如何将Windows Form表单模拟成一个IE浏览器
- Visual Basic 2005——如何在DataGridView控件的储存格中同时显示出文字与图片
- VIsual Basic 2005 - 如何使用 SqlBulkCopy 对象来执行大量复制作业
- Visual Basic 2005 - 如何于控件中捕捉按键
- Visual Basic 2005 - 读者续问如何一次显示多个统计图表
- Visual Basic 2005 - 如何将色彩字符串转换成 Color 结构
- Visual Basic 2005——如何在DataGridView控件的储存格中同时显示出文字与图片