【发布时间】:2010-11-26 06:42:45
【问题描述】:
在 VB.net 中,如何以编程方式启动 .exe 文件?有没有办法检查文件是否存在?
我知道有一些方法可以使用 System.IO 进行检查,但我不知道。但是,我什至不知道如何启动该 .exe(如果存在),因此感谢您的帮助!
【问题讨论】:
标签: .net vb.net executable
在 VB.net 中,如何以编程方式启动 .exe 文件?有没有办法检查文件是否存在?
我知道有一些方法可以使用 System.IO 进行检查,但我不知道。但是,我什至不知道如何启动该 .exe(如果存在),因此感谢您的帮助!
【问题讨论】:
标签: .net vb.net executable
查看System.Diagnostics.Process 课程。 MSDN页面上有完美的代码sn-p,这里就不重复了。
Process 的巧妙之处在于,您实际上可以启动一个文件(例如,一个 HTML 文件),它会使用用户的默认浏览器打开。许多常见的程序也接受命令行参数 - 许多浏览器接受 URL 作为命令行参数,因此您可以打开特定的 URL。
【讨论】:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
openFileDialog od = new OpenFileDialog(); 字符串路径 = od.ToString() System.Diagnostics.Process.Start(路径)
【讨论】:
使用 System.IO.File.Exists 和 System.Diagnostics.Process.Start。
Dim someExe As String = "MyAppsPath\some.exe"
Dim fullPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), someExe)
If File.Exists(fullPath) Then 'Checks for the existence of the file
Process.Start(fullPath) 'Executes it
End If
【讨论】:
您可以使用 System.Diagnostics.Process 执行 .EXE,如果它是控制台/命令行应用程序,甚至可以捕获输出。 你会有这样的东西(但请记住,这被简化了很多!):
dim process as System.Diagnostics.Process
process.StartInfo.FileName = "program.exe" ' You need to be smarter here!
process.StartInfo.Arguments = "whatever command line options you need"
process.Start()
要检查程序是否仍在运行,请调用
process.HasExited()
如果要捕获输出,需要将 StartInfo.RedirectStandardOutput 设置为 True。
【讨论】: