如何接收消息WM_DWMWINDOWMAXIMIZEDCHANGE? [英] How receive the message 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屋!