我目前正在尝试编写一个 Windows Media Center 应用程序 (Vista),它可以在启用 UAC 的情况下重新启动服务。禁用 UAC 时一切正常,但一旦启用 UAC,我就会收到拒绝访问错误。
我相信这是因为 Window Media Center 应用程序在 Windows Media Center 进程下运行,因此需要以管理员身份启动才能正常工作。有谁知道我如何在启用 UAC 的情况下实现这一目标?
我目前正在尝试编写一个 Windows Media Center 应用程序 (Vista),它可以在启用 UAC 的情况下重新启动服务。禁用 UAC 时一切正常,但一旦启用 UAC,我就会收到拒绝访问错误。
我相信这是因为 Window Media Center 应用程序在 Windows Media Center 进程下运行,因此需要以管理员身份启动才能正常工作。有谁知道我如何在启用 UAC 的情况下实现这一目标?
看一下这个。听起来您需要标记该过程以请求 UAC 允许继续:
You can mark your process as needing to be elevated by adding
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="CheckForceElevation" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
To the manifest.