MFC开启与关闭外部进程
来源:互联网 发布:2017淘宝双11销售冠军 编辑:程序博客网 时间:2024/05/21 18:52
MFC开启进程很简单,只需要一句话就可以解决问题:
ShellExecute(this->m_hWnd,_T("open"),_T("需要开启的外部进程的名字"),_T(""),_T(""), SW_SHOW );
但是关闭一个进程却比较麻烦,首先要找到该进程的句柄或ID,然后调用TerminateProcess来进行关闭
下面是一个关闭进程的函数(要添加头文件#include "tlhelp32.h")
void KillProcess(CString sExeName)
{
HANDLE hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hSnapShot == 0)
return;
PROCESSENTRY32 thePE;
thePE.dwSize = sizeof(PROCESSENTRY32);
//遍历正在运行的第一个系统进程
bool Status = Process32First(hSnapShot,&thePE);
bool bHaveFlag = false;
DWORD ProcessID = 0;
while(Status)
{
//遍历正在运行的下一个系统进程
Status = Process32Next(hSnapShot,&thePE);
//找到相应的进程 **.exe
// if(0 == wcscmp(thePE.szExeFile,L""))
CString sFindName = thePE.szExeFile;
CString sTemp = sExeName.Mid(0,sFindName.GetLength());
if(sFindName == sTemp)
{
bHaveFlag = true;
ProcessID = thePE.th32ProcessID;
//结束指定的进程 ProcessID
if(!TerminateProcess(OpenProcess (PROCESS_TERMINATE||PROCESS_QUERY_INFORMATION,false,ProcessID),0))
{
AfxMessageBox(L"无法终止指定的进程!",MB_ICONWARNING||MB_OK);
}
else
{
AfxMessageBox(L"进程结束!",MB_ICONWARNING||MB_OK);
break;
}
}
}
CloseHandle(hSnapShot);
}
然后在需要关闭进程的地方调用KillProcess(_T("要关闭的进程的名字"));即可。
- MFC开启与关闭外部进程
- 进程关闭与开启代码
- MFC关闭进程
- MFC关闭其他进程
- Qt 开启进程,查找进程,关闭进程
- mysql如何开启关闭外部连接
- Unity 定时开启/关闭外部应用
- 开启与关闭tomcat
- Mongodb开启与关闭
- Mongodb开启与关闭
- 开启与关闭硬件加速
- iptables开启与关闭
- Mongodb开启与关闭
- Mongodb开启与关闭
- Mongodb开启与关闭
- 推送关闭与开启
- Mongodb开启与关闭
- Mongodb开启与关闭
- jeecms 管理员后台发布内容状态为待审核
- Java开发中的23种设计模式详解
- .htaccess教程:简介、访问控制、验证、目录浏览控
- Path Sum II
- 25个让Java程序员更高效的Eclipse插件
- MFC开启与关闭外部进程
- dp,px,pt,sp 的区别 以及dp 和 px 互转
- hibernate之利用配置文件和annotation往数据库里插入数据
- JS事件:target与currentTarget区别
- HDU 3652 B-number
- table 列排序&行变色&按上下键光标在行上移动&上下移动行并保存DB
- Android源码学习之八—系统启动过程
- 数据结构(第1章: 概述)
- 最临近、双线性、三次卷积插值(图像放缩)