【发布时间】:2016-05-04 01:54:33
【问题描述】:
我在 C# 中有一个 winforms 应用程序,我必须在其中打开某个文件夹。 我用
System.Diagnostics.Process.Start(pathToFolder);
这会导致以下异常:
System.ComponentModel.Win32Exception (0x80004005):访问被拒绝
在 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo 启动信息)
在 System.Diagnostics.Process.Start()
在 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
在 MyApp.openLogFolderToolStripMenuItem_Click(Object sender, EventArgs e)
我已经检查了以下几点:
- 文件夹存在
- 用户拥有文件夹的权限(可以在资源管理器中打开)
另一件事是,如果我使用Process.Start() 打开此文件夹中的文件,它可以工作。
谁能给我一个提示?
干杯
编辑
我的目标是在资源管理器中打开该文件夹。
pathToFolder 类似于 H:\Something\App.Name\Log
【问题讨论】:
-
路径不是可以使用 process.start()... 打开/启动的可执行文件,您是否尝试使用特定路径打开 explorer.exe?
-
右键单击打开Visual Studio“以管理员身份运行”
-
@Thorarins 是对的。你为什么不告诉我们你到底想归档什么?
-
不确定大多数评论和回答的人在重申 Process.Start 不会打开文件夹路径时在谈论什么。确实如此。我在一个使用此功能多年的 .NET Framework 应用程序上工作。我在这里是因为我刚刚将应用程序迁移到 .NET Core,现在我收到“访问被拒绝”错误。
标签: c# winforms process.start win32exception