日期:2014-05-18  浏览次数:20945 次

C# windowsCE5.0 杀进程
我有两个运行于手持设备上的程序,他们有时候需要更新,我有一个自动更新的程序(这是第三个程序了,与本文无关),但是在更新的时候要把这两个程序都关掉才行,请问我怎样才能用代码关掉其他两个程序呢?
我上网查了很多资料,来来去去都是那两篇文章,都是转载的,说的是程序关掉自身进程的,可是我要实现的是关掉其他的进程(我知道程序名称)。
在强调一下,是WindowsCE的,不要把winform的代码发来,没用的。

------解决方案--------------------
找到进程名,可以Kill掉的
我电脑里有,有代码,不行留言,我回去给你掉下,和C/S的是有点不一样
------解决方案--------------------
http://www.cnblogs.com/xocean/archive/2009/08/26/1554221.html
------解决方案--------------------
探讨

引用:

http://www.cnblogs.com/xocean/archive/2009/08/26/1554221.html

WindowsCE项目没有Process.GetProcessesByName这个方法

------解决方案--------------------
如何关闭系统内的任意进程!
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);
------解决方案--------------------
http://blog.csdn.net/tanbin6833232/article/details/3732496
------解决方案--------------------
Process[] P = Process.GetProcessesByName(在进程里面的映像名称);
if (P.Length > 0)
{
string Pro_Add = P[0].MainModule.FileName;
P[0].Kill();//kill
}

 我一直都是这么用的