Celia_D 2019-10-17 22:28 采纳率: 50%
浏览 587

MFC:如何实现终止进程

请问要怎么在MFC中实现终止进程的功能呢?试着调用TerminateProcess()函数失败了......以下是从网上寻找的代码,修改后仍不成功,运行后点击按终止进程按钮后直接退出对话框了

void CProcessDlg::OnBnClickedButton5()
{
    UpdateData(TRUE);
    HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    PROCESSENTRY32 pe32; 
    pe32.dwSize=sizeof(PROCESSENTRY32);
    BOOL bResult=Process32First(hSnapshot,&pe32);
   while(bResult) 
    { 
       CString str=pe32.szExeFile; 
       if(str==v_softname) 
           {  
              this->MessageBox(L"查找到进程");
                   break;
           } 
       else
           { 
              bResult=Process32Next(hSnapshot,&pe32);
            }
     }
     CloseHandle(hSnapshot);
     //利用查找到的进程ID,打开进程:
     HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);  
     //关闭进程
     BOOL bRet = TerminateProcess(hProcess,0);
     if(bRet)
         this->MessageBox(L"success");
     else
         this->MessageBox(L"could not");
    UpdateData(FALSE);      
}

v_softname是设置的edit control控件

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-18 09:23
    关注

    查找到的进程id和任务管理器的对比没有,是不是一样
    关闭的是什么进程,有没有权限

    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现