显示UAC提升提示时是否触发了任何Windows事件?我看过SwitchDesktop,但看不到有关如何接收通知的任何提及。
我的直接展示应用程序表现不佳,我希望能够在显示提示时暂停图表,在解除时恢复。
我正在使用C ++和MFC,VS2008,目标是XP,Vista和7。
非常感谢
答案 0 :(得分:2)
我不确定在显示UAC提示时是否发送了任何事件。基本上它会制作桌面的屏幕截图,并切换到显示UAC提示窗口的另一个会话。
答案 1 :(得分:1)
当UAC切换桌面时,您的图表将收到渲染器引发的设备丢失事件(EC_DEVICE_LOST或类似内容)。您可以为此覆盖默认处理,但如果不这样,则默认处理将停止,断开连接并重新连接渲染器(以便它可以重新获取设备),然后搜索到先前的位置并重新启动。您还可以使用网桥将渲染器放在单独的图形中,这样您的捕获就不会中断。
答案 2 :(得分:1)
这是在另一个线程(超级用户)中回答的,解决方案名称是:UAC审核。
来源:https://superuser.com/questions/273236/reason-for-user-account-control-dialog
编辑essinital部分:(上述网址摘要)
Uac审核是通过更改Windows策略(Local \ Group)完成的。该 感兴趣的政策见: 计算机配置\策略\ Windows设置\安全设置\本地策略\审核政策
审核权限使用将使用系统事件日志中的UAC consent.exe对话框为您提供有关提升使用率的信息。该 由此创建的事件ID:4648和4624。
审核流程跟踪将为您提供有关流程及其创建/终止的信息。由此创建的事件ID:4688。
另外,查看事件ID 4696以查看新令牌的时间(用户登录 handle)被分配到进程。使用所有这些事件,你可以得到一个 清楚了解每个请求过程的时间表 通过UAC对话提升权利。
这是一个网站,其中包含系统事件日志中每个事件ID的简短摘要:
Windows 7和Windows Server 2008 R2中安全事件的说明 http://support.microsoft.com/kb/977519
编辑2 : 并非所有Windows版本都包含策略编辑器(如Windows 7 Home premium)。但是,使用Auditpol.exe在Windows 7 Home Premium和使用Auditusr.exe的Windows XP SP2上可以访问本地审核策略编辑器(非组策略)
有关使用Auditpol.exe的详细信息,请参阅此处: http://technet.microsoft.com/en-us/library/a02cfb9d-732f-4e77-aeba-f18265daa3af