在WIN CE下如何结束一个任意的进程,比如,我想结束explorer.exe
网上看了一段:
HWND hWnd;
// 先得到想要关闭的窗口的句柄
// 比如用FindWindow
hWnd=FindWindow(NULL,_T("dlg"));
if ( hWnd ==NULL )
return ;
// 下面是关闭进程的两种方法
// // 如果来文的则 //
::PostMessage(hWnd,WM_CLOSE,0,0);
// // 如果来武的则 //
DWORD dwProcessId;
// 得到该窗口的进程ID
GetWindowThreadProcessId(hWnd,&dwProcessId);
// 从进程ID打开进程句柄
HANDLE handle=OpenProcess(0,FALSE,dwProcessId);
// 强制终止进程
TerminateProcess(handle,0);
foenix
转贴自vckbase
本文来自eeworld博客,转载请标明出处:http://blog.eeworld.net/seanchan/archive/2009/01/04/3705419.aspx
先用hWnd=FindWindow(NULL,_T("dlg"));来获得一个窗口的句柄,
然后用GetWindowThreadProcessId(hWnd,&dwProcessId); 来获得这个句柄的ID号,
最后用TerminateProcess(handle,0);去结束这个进程。
但是我想关闭的是explorer.exe呢?如何得到它的ID号?
FindWindow好像是,获得一个顶层窗口的句柄,我按上面了例子试了一下,好像hWnd=FindWindow(NULL,_T("dlg"));
会报错:error C2440: '=' : cannot convert from 'CWnd *' to 'HWND'两个类型不符.
还有能不能在WIN CE下获得进程的列表啊?
引用: 引用 3 楼 tcdl85 的回复:
嗯,原来要添加toolhelp.lib
不应该吧,如果是没有添加toolhelp.lib引起的话,应该编译就出问题吧
是啊。。。之前就是编译出错了。。。现在拨弄出来了~~~