为了账号安全,请及时绑定邮箱和手机立即绑定

您如何降低子进程的权限

您如何降低子进程的权限

C#
慕勒3428872 2019-12-03 16:08:51
我知道如何从使用以下命令的进程中启动具有管理员权限的进程:proc.StartInfo.UseShellExecute = true;proc.StartInfo.Verb = "runas";其中proc是System.Diagnostics.Process。但是如何做到相反呢?如果您所在的进程已经提升,那么如何在没有管理员特权的情况下启动新进程?更准确地说,我们需要以与Windows资源管理器相同的权限级别启动新进程,因此,如果禁用了UAC,则无需进行任何更改,但是,如果启用了UAC,但是我们的进程运行在提升状态,则需要执行不提升的某些操作因为我们正在创建一个虚拟驱动器,并且如果它是使用提升的权限创建的,并且Windows资源管理器未提升运行,它将不会显示。随时将标题更改为更好的名称,我无法提供一个很好的描述。
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

我们最终使用了此代码项目文章中的示例:高海拔可能对您的应用程序不利:如何在安装结束时启动非高海拔过程


到目前为止,它似乎仍然有效,我将其注入到RunDll32.exe中,我的C ++ / Win32相当薄弱,因此我对实际实现并没有太多关注,只是它的使用。确认它在x86和x64的Vista和Win7中都可以正常运行(至少对我们来说,x86和x64需要不同的dll,在安装时会检查该dll,并使用正确的dll)


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 563 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信