C# 中的 Process.Start() 对非管理员用户不起作用

发布于 2024-11-14 17:38:18 字数 395 浏览 4 评论 0原文

我正在尝试运行 explorer.exe 打开一个文件夹,并且我正在使用 System.Diagnostics.Process 来执行此操作。

如果应用程序由具有管理员权限的用户运行,它可以正常工作,但如果用户不是管理员,则会失败。

我尝试过: - 通过提供 ProcessStartInfo 来运行它。 - 从本地计算机获取 explorer.exe 进程并使用它运行它。 - 在 IExplore.exe 上运行它。

上述内容对非管理员用户都不起作用。 ProcessStartInfo 允许您提示输入管理员凭据,但这是不可取的,因为许多用户不是管理员。

我知道我可以通过使用一些本机方法(我已经尝试过)SHOpenFolderAndSelectItems 来完成这项工作,但我真的不想使用本机代码..

I am trying to run explorer.exe to open a folder and I am using System.Diagnostics.Process to do that.

It works fine if the application is ran by a user who has admin privileges but fails if the user is not an admin.

I have tried:
- running it by supplying a ProcessStartInfo.
- Getting the explorer.exe process from the local machine and running it using that.
- Running it on IExplore.exe.

Nothing of the above worked for non-admin users. ProcessStartInfo lets you prompt for admin credentials but that's undesirable because many users are not admins..

I know I can make this work by using some native methods (I've tried it), SHOpenFolderAndSelectItems, but I don't really want to use native code..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文