大家帮我看下我的这个结束进程的函数 怎么在XP下没有问题 但是在2000下就不起作用了 ~~~
传入参数是进程名
bool CServerDemoDlg::KillApp(CString appName)
{
HANDLE hSnapshot;
hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 pe;
Process32First(hSnapshot,&pe);
do
{
if(strcmp(pe.szExeFile,appName)==0)
{
HANDLE hProcess;
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,pe.th32ProcessID);
if (hProcess)
{
TerminateProcess(hProcess,0);//关闭进程
}
}
}
while(Process32Next(hSnapshot,&pe));
CloseHandle(hSnapshot);
return true;}更奇怪的是在WIN2000下的DEBUG下调试也是正常的 ,执行RELEASE就不能结束进程了~~~~~
传入参数是进程名
bool CServerDemoDlg::KillApp(CString appName)
{
HANDLE hSnapshot;
hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 pe;
Process32First(hSnapshot,&pe);
do
{
if(strcmp(pe.szExeFile,appName)==0)
{
HANDLE hProcess;
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,pe.th32ProcessID);
if (hProcess)
{
TerminateProcess(hProcess,0);//关闭进程
}
}
}
while(Process32Next(hSnapshot,&pe));
CloseHandle(hSnapshot);
return true;}更奇怪的是在WIN2000下的DEBUG下调试也是正常的 ,执行RELEASE就不能结束进程了~~~~~
解决方案 »
- iterator返回的是什么
- vc中如何建立并保存多个文件??
- 请教高手:菜单弹出状态时响应快捷键的问题
- 50分!请问我怎么获得:程序运行时,正在打开的所有子对话框?
- VC++最下面的显示信息的窗口可以响应光标,但不能删除里面的字符,这是怎么做到的?
- 俺有一个问题想大家.能帮的一定要帮帮我哦!
- 一段简单的代码 会者不难 马上给分
- 高手请进!为什么图片移动一下,就改变大小了?
- MFC单文档中怎样实现清除所画的图形!
- 在用vc6编一个比较大的工程的时候,需要编写若干个.h .cpp文件。如何组织这些文件的互相包含呢?
- 怎样建完一个Excel文件,再建另一个Excel文件?
- Express C++引用类库问题!
杀进程要先将进程提升一个SeDebugPrivilege的权限才可以杀进程.检查你是否提升过这进程.再检查你进程运行在的权限,如果你在非管理员权限登陆的权限下想杀系统权限或管理员权限的进程,那是不可能的.
因为有些进程是系统保护的.不是不能杀掉,是用正常方法杀不掉,而且这些进程如果被杀,系统会崩溃或蓝屏.象xp/2003中某几个svchost.exe进程,一被杀系统就会倒数准备重启.