建立一個對話框。
添加一個列表框,改變按鈕 OK 的標題為 Close,刪除 Cancel 按鈕。將對話框的標題改為 TerminateTask。
在對話框中添兩個按鈕,標題分別為 Close App 和 Quit App。
CTerminateTaskDlg的OnInitDialog 方法中添加如下代碼
BOOL CTerminateTaskDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CListBox * list=(CListBox *)GetDlgItem(IDC_LIST1);
list->ResetContent();
EnumWindows(EnumWindowsProc,(LPARAM)list);
CenterWindow();
return TRUE; // return TRUE unless you set the focus to a control
}
在上邊添加函數
static BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
CListBox * list=(CListBox *)lParam;
char buf[256];
GetWindowText(hwnd,buf,256);
if(strlen(buf))
{
int idx=list->AddString(buf);
list->SetItemData(idx,(DWORD)hwnd);
}
return TRUE;
}
建立 ID_BUTTON1,命名方法為 OnCloseApp,并在此方法中添加下列代碼:
void CTerminateTaskDlg::OnCloseApp()
{
CListBox * list=(CListBox *)GetDlgItem(IDC_LIST1);
int idx=list->GetCurSel();
if(idx==LB_ERR)
{
MessageBox("You must select a window to active!",
"Error",MB_OK|MB_APPLMODAL);
return;
}
HWND hWnd=(HWND)list->GetItemData(idx);
::PostMessage(hWnd,WM_CLOSE,0,0L);
EndDialog(IDOK);
}
編譯并運行此例子程序。
可以用HWND hWnd = ::FindWindow(NULL,"windows name") ;
關閉一個制定的程序,還可以用上邊的程序查看具體的windows name,注意windows name為窗口的caption。
case WM_CLOSE:
return 0;在窗口消息處理時加上上邊兩句,程序就只能用資源管理器關閉了
----封裝的越多,越方便,越臃腫,越讓人不自在,我們只是要找到平衡點
摘要:
//這個程序用來讀取256*256大小的單色bmp黑白圖片,適當修改就可讀取任意大小任意//顏色的bmp圖片,在生成文件里,0和1表示黑白,不過用記事本查看會有亂碼//可以用UE查看16進制形式,沒有問題的#include <fstream>#include <iostream>using namespace std;...
閱讀全文
Hibernate是替JAVA設計的輕量級O/R映射服務,即對象/關系型數據庫映射(Object/Relational Mapping)
JDBC+DAO存在很多困難,很難做到把關系表記錄完整的映射到持久對象的關系上來,這主要體現在多表的關系無法直接映射到對持久對象的映射上
來,可能是一個表映射多個持久對象,有可能是多個表映射一個持久對象,更有可能的是表的某些字段映射到一個持久對象,但是另外一些字段映射到別的持久對象
上。
Hibernate試圖彌補這些缺陷
我的感覺是應用hibernate簡化數據庫操作,確實有著很大的優(yōu)勢和前景