如何接收消息WM_DWMWINDOWMAXIMIZEDCHANGE? [英] How receive the message WM_DWMWINDOWMAXIMIZEDCHANGE?

查看:276
本文介绍了如何接收消息WM_DWMWINDOWMAXIMIZEDCHANGE?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

如何注册然后获取消息WM_DWMWINDOWMAXIMIZEDCHANGE?

http ://blogs.msdn.com/greg_schechter/archive/2006/09/14/753605.aspx 我发现了此信息:

WM_DWMWINDOWMAXIMIZEDCHANGE-窗口可以注册以了解其他窗口何时已最大化.例如,对于其他窗口最大化时不透明的TaskBar或SideBar,这很有用.

下面的代码将不会检测到消息WM_DWMWINDOWMAXIMIZEDCHANGE,但是会检测到其他消息,例如WM_DWMCOLORIZATIONCOLORCHANGED.


c ++代码

LALL回调wndProc(HWND hWnd,UINT消息,WPARAM wParam,LPARAM lParam)
{
开关(消息)
{
case WM_DWMWINDOWMAXIMIZEDCHANGE:
收到/*消息-做某事*/
中断;

默认值:
返回DefWindowProc(hWnd,message,wParam,lParam);
}

返回0;
}

C#代码

private const int WM_DWMCOMPOSITIONCHANGED = 0x031E;
private const int WM_DWMNCRENDERINGCHANGED = 0x031F;
private const int WM_DWMCOLOZEDC; 03私有const int WM_DWMWINDOWMAXIMIZEDCHANGE = 0x0321;

受保护的覆盖无效WndProc(ref Message msg)
{
if(msg.Msg == WM_DWMWINDOWMAXIMIZEDCHANGE)
{ br>/* ... */
}

base.WndProc(ref msg);
}

感谢,

关于米奇

推荐答案

我也想知道如何使它在VB.Net中工作.这是我正在处理的应用程序的一种重要功能.
I would also like to know how to get this to work in VB.Net. It's a kind of important feature for my application I'm working on.


这篇关于如何接收消息WM_DWMWINDOWMAXIMIZEDCHANGE?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆