XP环境下C# 调用Pocess.start()时提示文件找不到的错误解决办法

错误提示如下:

System.ComponentModel.Win32Exception (0x80004005): 系统找不到指定的文件。

在 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   在 System.Diagnostics.Process.Start()
   在 SmallScene.Login.Login_Load(Object sender, EventArgs e)

 在 System.Windows.Forms.Form.OnLoad(EventArgs e)
   在 System.Windows.Forms.Form.OnCreateControl()
   在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   在 System.Windows.Forms.Control.CreateControl()
   在 System.Windows.Forms.Control.WmShowWindow(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
   在 System.Windows.Forms.Form.WmShowWindow(Message& m)
   在 System.Windows.Forms.Form.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

解决办法:

1.对所有的路径加双引号,防止空格的出现。例如Process.start(""C:\Program Files\WinRar.exe"");

2.所有的路径都用绝对路径,坚决杜绝出现相对路径。(因为XP调用时会出错)

原文地址:https://www.cnblogs.com/jaejaking/p/6780977.html