我在 C# 中有一个 winforms 应用程序,我必须在其中打开某个文件夹。我用
System.Diagnostics.Process.Start(pathToFolder);
Run Code Online (Sandbox Code Playgroud)
这导致以下异常:
System.ComponentModel.Win32Exception (0x80004005): 访问被拒绝
在 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
在 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
我想获取“ Windows资源管理器” Windows(不是Internet Explorer)的句柄。
通常它与
var processes = Process.GetProcesses();
foreach (var process in processes)
{
var handle = process.Handle;
}
Run Code Online (Sandbox Code Playgroud)
我想做的是以下几点:
将特定的资源管理器窗口移至ForeGround。我已经实现了“ ToForeGround”方法,它对于除Windows资源管理器以外的所有其他Windows都可以正常工作
但是,使用Windows资源管理器时,无论打开多少Windows,我都只能获得任务栏的进程,因此只有一个“ Windows资源管理器”进程。
还是可以向我解释为什么“ Windows资源管理器”与其他程序不同?
我正在Windows 窗体应用程序中开发一个项目,我在其中创建了 PDF 文件。通过单击一个按钮,我想打开保存它的 PDF 文件的文件夹。那我该怎么做呢?
注意:我不想运行任何 .exe 文件。我只想打开一个文件夹。