1

简单代码:

 ProcessStartInfo psi = new ProcessStartInfo(path);
 psi.UseShellExecute = false;
 Process.Start(psi);

如果路径 = C:\Users\Marat\AppData\Local\MyCompany\Program.exe,没关系!

但如果路径 = C:\Users\Marat\Local Settings\Application Data\MyCompany\Program.exe

得到例外:

System.ComponentModel.Win32Exception(0x80004005):进行了无效的名称请求。目前无法检索请求的名称

实际上,一切正常,但在某些时候它开始给出这个错误。

4

1 回答 1

1

据我所知,Windows 7 中的 Local Settings 文件夹是指向 AppData 文件夹的链接,主要用于与旧的 Windows Vista 之前的应用程序兼容,实际上您无法直接访问它,除非您更改该链接的所有者(它是系统),所以这可能就是您收到此错误的原因。

另一个原因可能是名称中的空格,因为您在启动进程时没有显示如何构造路径或其内容。

于 2012-08-20T17:11:22.677 回答