Shell Vs Process.start用于执行外部应用程序



我可以通过以下方式从应用程序打开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命名空间中,在很大程度上包含用于遗留目的的不推荐使用的方法。您应该尽量避免使用此处的任何内容,而在另一个命名空间中使用替代项。

相关内容

  • 没有找到相关文章

最新更新