MFC 开启进程:
最后一个参数可以显示或是不显示第三方 exe 的界面
ShellExecute(this->m_hWnd, L"open", L"xxx.exe", NULL, NULL, SW_SHOWNORMAL); //SW_HIDE
MFC 关闭进程首先要找到该进程的句柄或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;
Proce