在win ce中如何结束进程
要求在一个进程中结束另一个进程
Windows Mobile Developer Power Toys中有个killproc.exe可以用来结束进程,是ce下的命令行工具。
TerminateProcess具体是怎样传参的
我这样调用为什么还是结束不了
TerminateProcess(ProcessID,ExitCode);
如何关闭系统内的任意进程!
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
不知道可以不?
引用: 引用 4 楼 91program 的回复:
如何关闭系统内的任意进程!
HWND? hWnd;
//? 先得到想要关闭的窗口的句柄
//? 比如用FindWindow
hWnd=FindWindow(NULL,_T("dlg"));
if? (? hWnd? ==NULL? )
return? ;
//? 下面是关闭进程的两种方法
//? //? 如果来文的则? //
::PostMessage(hWnd,WM_CLOSE,0,0);
//? //? 如果来武的则? //
DWORD? dwProcessId;
//? 得到该窗口的进程ID
GetWindowThreadProcessId(hWnd,&dwProcessId);
//? 从…
恩::PostMessage(hWnd,WM_CLOSE,0,0);这句应该不用了,直接TERMINATER就OK。
我用C#下的,获取的进程ID来结束进程.但还是无法关闭
IntPtr PID=PostMessage(PID, 16, 0, 0);
IntPtr hp=Process.OpenProcess(Process.PROCESS_ALL_ACCESS, false,PID.ToInt32());
MessageBox.Show(string.Format ("PID:{0},HP:{1}", PID, hp));
int i = Process.WaitForSingleObject(hp, 5000);
MessageBox.Show(i.ToString ());
bool b=Process.TerminateProcess(hp, 0);
int errCode = Process.GetLastError();
MessageBox.Show(errCode.ToString());
UInt32 exitCode;
Process.GetExitCodeProcess(hp, out exitCode);
MessageBox.Show(exitCode.ToString());