我可以通过以下方式从应用程序打开windows计算器:
-
使用
Shell()
Shell("C:WINDOWSsystem32calc.exe")
-
使用
Process.start()
Process.start("C:WINDOWSsystem32calc.exe")
-
打开记事本应用程序
Shell("C:WINDOWSsystem32notepad.exe", AppWinStyle.NormalFocus) Process.start("C:WINDOWSsystem32notepad.exe", AppWinStyle.NormalFocus)
有人能告诉我这两个电话有什么区别吗?哪一个是最佳实践?
在这两个例子中基本上没有区别,但
Process.Start
是首选,因为它为您提供了更多控制流程的选项。可以使用ProcessStartInfo对象作为参数指定更多选项。
Shell
只返回您必须在运行进程列表中查找的进程id,而Process.Start
返回一个Process
对象,您可以使用它来检查其状态等。
还要注意,Shell
位于Microsoft.VisualBasic
命名空间中,在很大程度上包含用于遗留目的的不推荐使用的方法。您应该尽量避免使用此处的任何内容,而在另一个命名空间中使用替代项。