一、进程操作 关闭
1.1 DOS命令下:如果进程存在就关闭进程
tasklist |find /i "QQ.exe" && taskkill /f /im qq.exe
1.2 进程查询:
#include "TlHelp32.h"
// //
// //2. 判断程序是否运行
// //
// BOOL isRunable = FALSE; //程序是否在运行
//
// CString szMarchineAPPName = ("qq.exe");
// szMarchineAPPName.Replace(_T("\\\\"), _T("\\"));
// HANDLE hPS; //进程快照句柄
// PROCESSENTRY32 pe; //进程条目变量
// hPS = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //创建进程快照
// if(hPS == INVALID_HANDLE_VALUE)
// {
// return;
// }
//
// memset(&pe, 0, sizeof(pe)); //初始化
// pe.dwSize = sizeof (PROCESSENTRY32); //为DwSize赋值
//
//
//
// if(Process32First(hPS, &pe))//检索第一个线程
// {
// do
// {
// CString str ="WeChatWeb.exe";
//
// if( ( szMarchineAPPName .CompareNoCase(pe.szExeFile)) //szMarchineAPPName.CompareNoCase(pe.szExeFile))
// {
// isRunable = TRUE;
// break;
// }
// } while (Process32Next(hPS, &pe));
// }
// CloseHandle(hPS);
//
// if(isRunable)
// {
// if(system("TASKKILL /F /IM qq.exe") != 0 ) //使用dos命令关闭机台控制程序
// {
// AfxMessageBox(" 程序退出失败,请手动退出或者重启计算机");
// }
// }
1.3 可能存在问题
1、中文比较的结果总是TRUE
//
// CString str = "中文AVASd";
// if(str.CompareNoCase(progarmNameStr))
// AfxMessageBox("AAAAAAA");
2、system(" tasklist |find /i ‘QQ.exe’ && taskkill /f /im qq.exe")
执行失败