windows-7 – 如何将UAC盾牌图标添加到仍然必须以XP为目标的程序?
发布时间:2020-09-21 18:57:17 所属栏目:Windows 来源:互联网
导读:我有一个程序仍然必须针对 Windows XP(_WIN32_WINNT 0x501),因为我们的大多数客户仍然使用XP.但是,我们已经推出Vista一段时间了,现在推动Windows 7升级.为使软件在较新的操作系统上正常工作,有一些操作需要UAC提升.我有提升代码工作,但希望在启动UAC进程的按
我有一个程序仍然必须针对 Windows XP(_WIN32_WINNT 0x501),因为我们的大多数客户仍然使用XP.但是,我们已经推出Vista一段时间了,现在推动Windows 7升级.为使软件在较新的操作系统上正常工作,有一些操作需要UAC提升.我有提升代码工作,但希望在启动UAC进程的按钮上显示UAC图标.不幸的是,Microsoft’s UAC UI document中定义的所有选项都需要_WIN32_WINNT 0x600或更新版本. 是否有任何方法可以在按钮上显示相应的UAC图标(Vista和7使用不同的图标),同时仍能够定位XP(不显示图标)?我正在使用C,但可能能够适应.NET解决方案. 使用Button_SetElevationRequiredState并添加如下内容:#if ! defined(BCM_FIRST) #define BCM_FIRST 0x1600 #define BCM_SETSHIELD (BCM_FIRST + 0x000C) #define Button_SetElevationRequiredState(hwnd,fRequired) (LRESULT)SNDMSG((hwnd),BCM_SETSHIELD,(LPARAM)fRequired) #endif // #if ! defined(BCM_FIRST) 这将适用于XP和Vista,并将正常编译为所有目标系统. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |