相关疑难解决方法(0)

具有管理权限的进程在用户登录时运行

我正试图弄清楚如何解决特权获取问题.

该应用程序需要桌面访问,因此无法作为Windows服务执行:它必须创建一个窗口,用于接收其他进程使用SendMessage发送的消息(它必须用于等待消息确认).

应用程序应在用户登录时启动,并将管理用户会话(管理应用程序,窗口......).一次只能管理一个用户.

我要问的是哪个是请求权限获取的最佳解决方案,因为应用程序需要它(执行调用SetWindowsHook的进程).

  • 如何在用户登录时使用(更高)权限运行任何进程,可能不会提示UAC消息?可以在安装阶段执行设置操作......
  • 如何才能在用户登录时运行实用程序服务启动进程?通过这种方式,(已安装的)服务可以运行任何特权的有效过程......
  • 还有其他方法吗?*

拥有完全兼容的UAC应用程序需要采取哪些明确的行动?(我的意思是在构建和部署阶段?

例如,我使用mt.exe包含以下清单文件(使用VS2005):

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"     xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-    com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    security>
      <applicationRequestMinimum>
        <defaultAssemblyRequest permissionSetReference="Custom" />
        <PermissionSet class="System.Security.PermissionSet" version="1"     Unrestricted="true" ID="Custom" SameSite="site" />
      </applicationRequestMinimum>
        <requestedPrivileges>
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
</asmv1:assembly>
Run Code Online (Sandbox Code Playgroud)

这对你好吗?不,因为它对我不起作用......

*

创建一个额外的用户帐户(但这也适用于Windows域)实际上是有意义的,具有管理员权限来执行受控环境.在没有记录任何用户的情况下创建工作会话(新的桌面工作站)也是可以接受的,但实际上我不知道是否可能.

c# security winapi uac

1
推荐指数
1
解决办法
2265
查看次数

标签 统计

c# ×1

security ×1

uac ×1

winapi ×1