建立一个对话框。
添加一个列表框,改变按钮 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简化数据库操作,确实有着很大的优势和前景