怎样关闭其他已经打开的程序?
我想在我自己的程序中,关闭其他已经打开的程序,怎么实现? 问题点数:0、回复次数:10Top
1 楼Featured(我握着爱情的门票静静排队……)回复于 2005-04-01 12:50:04 得分 0
FindWindow
SendMessageTop
2 楼4inSky(漂在深圳的程序员)回复于 2005-04-01 13:13:24 得分 0
先使用FindWindow得到那个程序的句柄,然后在使用SendMessage发送一个关闭窗口消息WM_CLOSED.Top
3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-01 13:21:49 得分 0
找到handle,然后发送消息PostMessage(hWnd,WM_CLOSE,0,0);Top
4 楼surstar(我要写个操作系统出来……)回复于 2005-04-01 13:31:13 得分 0
FindWindow
SendMessage WM_CLOSE
都回答了~
Top
5 楼halleyw(自己动手)回复于 2005-04-01 13:46:32 得分 0
我怎么才能获得那个窗口的句柄?
比如我的 任务管理器 的 进程 里面有个叫"taskmgr.exe"的进程
怎么得到这个进程的句柄?Top
6 楼krh2001(边城浪子)回复于 2005-04-01 13:54:32 得分 0
窗口的句柄都有一个关联的实例句柄, 根据实例句柄就可以知道进程的文件名
GetWindowLong
GetModuleFileNameTop
7 楼krh2001(边城浪子)回复于 2005-04-01 14:02:22 得分 0
枚举所有的顶层窗口, 对每个窗口做:
HINSTANCE hInst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
TAHAR path[MAX_PATH];
::GetModuleFileName(hInst, path, MAX_PATH);
if(!_tcscmp(path, "c:\\abc.exe"))
{
HRESULT hr = SendMessageTimeout(hWnd, WM_CLOSE, 0,0, SMTO_NORMAL, 100000, NULL);
}Top
8 楼halleyw(自己动手)回复于 2005-04-01 14:04:35 得分 0
那如果要结束那个任务管理器的进程,该怎么结束?Top
9 楼halleyw(自己动手)回复于 2005-04-01 14:05:13 得分 0
ok,谢谢Top
10 楼halleyw(自己动手)回复于 2005-04-01 14:07:12 得分 0
如果我不知道这个程序在什么位置,仅仅知道这个进程的名字叫"abc.exe",该怎么结束?Top




