UAC提示会触发哪些事件?

时间:2011-11-15 09:35:59

标签: windows events directshow uac

显示UAC提升提示时是否触发了任何Windows事件?我看过SwitchDesktop,但看不到有关如何接收通知的任何提及。

我的直接展示应用程序表现不佳,我希望能够在显示提示时暂停图表,在解除时恢复。

我正在使用C ++和MFC,VS2008,目标是XP,Vista和7。

非常感谢

3 个答案:

答案 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