我可以通过以下方式从我的应用程序中打开Windows计算器:
使用Shell()
Shell("C:\WINDOWS\system32\calc.exe")
使用Process.start()
Process.start("C:\WINDOWS\system32\calc.exe")
打开记事本应用程序
Shell("C:\WINDOWS\system32\notepad.exe", AppWinStyle.NormalFocus)
Process.start("C:\WINDOWS\system32\notepad.exe", AppWinStyle.NormalFocus)
有谁能告诉我这两个电话有什么区别?哪一个是最佳实践?
答案 0 :(得分:3)
在这两个例子中,基本上没有区别,但
Process.Start
是首选,因为它为您提供了更多控制流程的选项。您可以使用ProcessStartInfo对象作为参数指定更多选项。
Shell
仅返回您必须在正在运行的进程列表中查找的进程ID,而Process.Start
返回一个Process
对象,您可以使用该对象检查其状态等
另请注意,Shell
位于Microsoft.VisualBasic
命名空间中,其中 主要包含已弃用的旧方法。你应该尽量避免在这里使用任何东西来支持另一个名称空间中的替代。