您的位置:首页 > 编程语言 > C#

c#捕获窗口最小化和还原的事件

2011-02-20 14:59 597 查看
下面的代码演示了当前窗口最小化、还原的时候另一个窗口f2也最小化、还原的功能,参考了http://topic.csdn.net/t/20020717/09/879937.html 中wistaria的回答

[DllImport("user32.dll", EntryPoint = "SendMessage")]
        private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

        const int WM_SYSCOMMAND = 0x0112;
        const int SC_MINIMIZE = 0xF020;
        const int SC_MAXIMIZE = 0xF030;
        const int SC_RESTORE = 0xF120;

        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            if (m.Msg==WM_SYSCOMMAND)
            {
                int sc = m.WParam.ToInt32();
                if (sc == SC_MINIMIZE || sc == SC_RESTORE)
                {
                    SendMessage(f2.Handle, m.Msg, sc, 0);
                }
            }
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: