1、获得指定点的窗口:
//获得指定点的窗口
CWnd* pWnd = WindowFromPoint(point);
2、如何最小化、最大化、关闭窗口
//最小化窗口
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
//最大化窗口
SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE, 0);
//关闭窗口
SendMessage(WM_CLOSE, 0, 0);
3、如何获得和设置窗口标题
CString strText = _T("");
//获得窗口标题
GetWindowText(strText);
//设置窗口标题
SetWindowText(strText);
4、如何删除和添加标题栏
//删除标题栏风格
ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED);
//添加标题栏风格
ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED);
5、如何改变窗口形状(以矩形为例)
CRect rect;
GetClientRect(rect);
//创建矩形区域
CRgn rgn;
rgn.CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);
//设置窗口的区域
SetWindowRgn((HRGN)rgn, TRUE);
6、获得桌面窗口
//获得桌面窗口
CWnd* pWnd = CWnd::GetDesktopWindow();
7、获得任务栏窗口
//获得任务栏窗口
CWnd* pWnd = CWnd::FindWindow(_T("Shell_TrayWnd"), NULL);
8、使桌面所有窗口最小化
//获得任务栏窗口
CWnd* pWnd = CWnd::FindWindow(_T("Shell_TrayWnd"), NULL);
//发送ID为0x1F5(Win + M)的WM_HOTKEY消息
pWnd->SendMessage(WM_HOTKEY, 0x1F5);