6

我在互联网上研究了表单确定按钮上的 UAC 功能,但无法获取信息。与实施 UAC 相关的所有信息是他们以管理权限重新启动应用程序。

我的要求是制作应用程序,当用户单击带有 Shield 图标的 OK 按钮时,用户将能够通过提升用户权限将一些信息保存在 Windows 注册表中,但我不想用管理员重新启动应用程序权利。

4

2 回答 2

7

重新启动应用程序(或启动帮助应用程序)就是您要做的。启动应用程序时请求提升的权限会导致出现 UAC 确认屏幕。基本上,显示盾牌图标的目的是让用户知道确认屏幕即将出现。

您不必只是重新启动您的应用程序。如果您的应用程序允许多个实例,您可以使用指示要进行的注册表更改的命令行参数启动第二个副本。或者你可以有一个帮助应用程序来做管理事情,并根据需要启动它。辅助应用程序不需要创建或显示窗口;它可以是完全后台操作。

于 2012-12-10T14:47:49.437 回答
-1

可能您应该添加应用程序清单并需要管理员权限:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
</assembly>

编辑

这可能不是最好的解决方案,因为整个应用程序都在提升的权限下运行,这可能是一个安全漏洞。

于 2012-12-10T14:51:12.950 回答