微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在订阅DWM组合/ Aero Glass禁用时引发的操作系统级事件?

我正在开发主窗体中支持Windows Aero的C#应用​​程序。

某些不支持视觉样式的应用程序(例如GoToMeeting )会禁用视觉样式,而在运行GoToMeeting(Aero客户端区域被绘制为黑色)时会错误地绘制表单。

我怎么能订阅一个操作系统事件,当视觉样式被禁用时被激发? 然后,我可以调整我的窗口中的客户区,以正确绘制。

托pipe和非托pipe解决scheme对我来说是有效的。

在Windows窗体中认button命中(试图find最好的解决scheme)

如何testing远程UDP端口

在C#.NET中制作游戏的最佳方式是什么?

在Windows Vista> 8上获取用户帐户configuration文件图片

钩从窗口事件从AC#Windows服务应用程序不起作用

提前致谢。

编辑 :根据汉斯的回答,这是pipe理这个事件的代码

private const int WM_DWMCOMPOSITIONCHANGED = 0x31e; [DllImport("dwmapi.dll")] private static extern void DwmIsCompositionEnabled(ref bool pfEnabled); protected override void WndProc(ref Message m) { if (m.Msg == WM_DWMCOMPOSITIONCHANGED) { bool compositionEnabled = false; DwmIsCompositionEnabled(ref compositionEnabled); if (compositionEnabled) { // composition has been enabled } else { // composition has been disabled } } base.WndProc (ref m); }

带有ToolStripStatusLabel的UIAutomation

我如何序列化System.Security.AccessControl.FileSecurity

.NET应用程序在Windows 10上将不同的操作系统版本返回给PowerShell

In-Proc SxS在托pipe代码中打开shell扩展?

启动f#与Process.Start交互

Windows将消息发送到顶层窗口。 你会陷入它,例如WinForms窗体的WndProc覆盖。 监听WM_DWMCOMPOSITIONCHANGED,消息号码0x31e。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐