C# 中的 Process.Start() 对非管理员用户不起作用
我正在尝试运行 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论