MB_APPLMODAL);
return;
}
HWND hWnd=(HWND)list->GetItemData(idx);
::PostMessage(hWnd,WM_QUIT,0,0L);
EndDialog(IDOK);
}
8.在菜单 Tasks 中添加新的菜单项 Terminate Tasks,ID 命名为 ID_TERMINATE_TASK。
9.在 ClassWizard 中.从下拉列表中选择对象 CMainFrame,从对象列表中选择 ID_TERMINATE_TASK,选择消息 COMMAND,点击按钮 Add Function,在方法 OnTerminateTask 中输入下列代码:
void CMainFrame::OnTerminateTask()
{
CTerminateTaskDlg dlg;
dlg.DoModal();
}
10.在文件 MAINFRM.CPP 的顶部添加下列行:
#include "TerminateTaskDlg.h"
11.编译并运行此例子程序。
用法
同前一节一样,本节也使用了 API 函数 EnumWindows 及回调函数 EnumWindowsProc 来列出窗 口,同样,也将 Windows 句柄存放在列表框附加数据部分。
当用户从对话框中选择了按钮 Close App 后,选中的列表项及句柄将被取回。使用此句柄传送标识 符为 WM_CLOSE 的消息给窗口,表示窗口应被关闭。使用消息 WM_CLOSE 关闭窗口,将不会提示用户保 存已改变的文本。
当用户从对话框中选择了按钮 Quit App 后,选中的列表项及句柄将被取回。使用此句柄传送标识符 为 WM_QUIT 的消息给窗口,表示窗口应被关闭。使用消息 WM_CLOSE 关闭窗口,将会提示用户保存已改 变的文本,并允许用户撤消关闭窗口的请示。
关键词:如何关闭其他的应用程序