運行之後的介面:
BOOL CWndExDlg::OnInitDialog()<br />{<br />CDialog::OnInitDialog();<br />// Add "About..." menu item to system menu.<br />// IDM_ABOUTBOX must be in the system command range.<br />ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);<br />ASSERT(IDM_ABOUTBOX < 0xF000);<br />CMenu* pSysMenu = GetSystemMenu(FALSE);<br />if (pSysMenu != NULL)<br />{<br />CString strAboutMenu;<br />strAboutMenu.LoadString(IDS_ABOUTBOX);<br />if (!strAboutMenu.IsEmpty())<br />{<br />pSysMenu->AppendMenu(MF_SEPARATOR);<br />pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);<br />}<br />}<br />// Set the icon for this dialog. The framework does this automatically<br />// when the application's main window is not a dialog<br />SetIcon(m_hIcon, TRUE);// Set big icon<br />SetIcon(m_hIcon, FALSE);// Set small icon</p><p>// TODO: Add extra initialization here</p><p>m_List.InsertColumn(0,_T("視窗類別名"),LVCFMT_LEFT,100);<br />m_List.InsertColumn(1,_T("視窗標題"),LVCFMT_LEFT,100);<br />return TRUE; // return TRUE unless you set the focus to a control<br />}<br />void CWndExDlg::OnSysCommand(UINT nID, LPARAM lParam)<br />{<br />if ((nID & 0xFFF0) == IDM_ABOUTBOX)<br />{<br />CAboutDlg dlgAbout;<br />dlgAbout.DoModal();<br />}<br />else<br />{<br />CDialog::OnSysCommand(nID, lParam);<br />}<br />}<br />// If you add a minimize button to your dialog, you will need the code below<br />// to draw the icon. For MFC applications using the document/view model,<br />// this is automatically done for you by the framework.<br />void CWndExDlg::OnPaint()<br />{<br />if (IsIconic())<br />{<br />CPaintDC dc(this); // device context for painting<br />SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);<br />// Center icon in client rectangle<br />int cxIcon = GetSystemMetrics(SM_CXICON);<br />int cyIcon = GetSystemMetrics(SM_CYICON);<br />CRect rect;<br />GetClientRect(&rect);<br />int x = (rect.Width() - cxIcon + 1) / 2;<br />int y = (rect.Height() - cyIcon + 1) / 2;<br />// Draw the icon<br />dc.DrawIcon(x, y, m_hIcon);<br />}<br />else<br />{<br />CDialog::OnPaint();<br />}<br />}<br />// The system calls this to obtain the cursor to display while the user drags<br />// the minimized window.<br />HCURSOR CWndExDlg::OnQueryDragIcon()<br />{<br />return (HCURSOR) m_hIcon;<br />}<br />void CWndExDlg::OnBtnMax()<br />{<br />//已最大化的視窗<br />SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);</p><p>}<br />void CWndExDlg::OnBtnMin()<br />{<br />//最小化<br />SendMessage(WM_COMMAND,SC_MINIMIZE,0);</p><p>}<br />void CWndExDlg::OnBtnRebuild()<br />{<br />//恢複視窗<br />SendMessage(WM_SYSCOMMAND,SC_RESTORE,0);</p><p>}<br />void CWndExDlg::OnBtnSwp()<br />{<br />//設定視窗的大小和位置<br />SetWindowPos(NULL,0,0,300,300,SWP_NOZORDER);<br />//SWP_NOZORDER 表示當前的層次</p><p>}<br />void CWndExDlg::OnBtnMove()<br />{<br />// 設定視窗的大小和位置<br />MoveWindow(100,200,200,320);</p><p>}<br />void CWndExDlg::OnBtnCenter()<br />{<br />//置中<br />CenterWindow();</p><p>}<br />void CWndExDlg::OnBtnTopshow()<br />{<br />SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);<br />/* SWP_NOMOVE 表示視窗保持當前的位置,忽略x,y.<br /> SWP_NOSIZE 表示視窗當前保持的大小,忽略,cx,cy</p><p>*/<br />}<br />void CWndExDlg::OnBtnGet()<br />{<br />CString strText=_T("");<br />//擷取視窗標題<br />GetWindowText(strText);<br />SetDlgItemText(IDC_EDIT,strText);</p><p>}<br />void CWndExDlg::OnBtnSet()<br />{<br />CString strText=_T("");<br />GetDlgItemText(IDC_EDIT,strText);<br />//設定視窗標題<br />SetWindowText(strText);<br />}<br />void CWndExDlg::OnBtnMinall()<br />{<br />//擷取任務視窗<br />CWnd* pWnd=CWnd::FindWindow(_T("Shell_TrayWnd"),NULL);<br />//發送ID為0X1F5(WIN+M)的WM_HOTKEY Message<br />pWnd->SendMessage(WM_HOTKEY,0X1F5);</p><p>}<br />void CWndExDlg::OnBtnHid()<br />{<br />//擷取工作列視窗<br />CWnd* pWnd=CWnd::FindWindow(_T("Shell_TrayWnd"),NULL);<br />//隱藏視窗<br />if (pWnd->IsWindowVisible())<br />{<br />pWnd->ShowWindow(SW_HIDE);<br />}</p><p>}<br />void CWndExDlg::OnBtnApp()<br />{<br />//擷取工作列視窗<br />CWnd* pWnd=CWnd::FindWindow(_T("Shell_TrayWnd"),NULL);<br />//顯示視窗<br />if (!pWnd->IsWindowVisible())<br />{<br />pWnd->ShowWindow(SW_SHOW);<br />}</p><p>}<br />void CWndExDlg::OnBtnOne()<br />{<br />m_List.DeleteAllItems();<br />m_List.SetRedraw(FALSE);<br />//擷取桌面視窗<br />CWnd* pDeskTopWnd=CWnd::GetDesktopWindow();<br />//擷取第一個子視窗<br />CWnd* pWnd=pDeskTopWnd->GetWindow(GW_CHILD);<br />while(pWnd!=NULL)<br />{<br />int nItem=m_List.GetItemCount();<br />//擷取視窗類別名<br />CString strClassName=_T("");<br />::GetClassName(pWnd->GetSafeHwnd(),strClassName.GetBuffer(256),256);<br />strClassName.ReleaseBuffer();<br />m_List.InsertItem(nItem,strClassName);</p><p>//擷取視窗標題<br />CString strWindowText=_T("");<br />::GetWindowText(pWnd->GetSafeHwnd(),strWindowText.GetBuffer(256),256);<br />strWindowText.ReleaseBuffer();<br />m_List.SetItemText(nItem,1,strWindowText);<br />//繼續下一個<br />pWnd=pWnd->GetWindow(GW_HWNDNEXT);<br />}<br />m_List.SetRedraw(TRUE);</p><p>}<br />void CWndExDlg::OnBtnTwo()<br />{<br />//m_List.DeleteAllItems();<br />//m_List.SetRedraw(FALSE);<br />//枚舉視窗<br />//::EnumWndProc(EnumWndProc,(LPARAM)m_List);</p><p>}<br />
:http://ishare.iask.sina.com.cn/f/14454291.html