一、windows环境下
1、进程查询函数
processCount函数用于查询系统所有运行的进程中该进程运行的数量,比如启动了5个A进程,该函数查询返回的结果就为5。
windows下使用了API接口查询进程信息,该函数纯C++无Qt库相关代码,注释对代码进行了详细解释。
int processCount(const char* processName)
{
int countProcess = 0;
//CreateToolhelp32Snapshot 获取系统中正在运行的进程信息,线程信息等
HANDLE toolHelp32Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (((int)toolHelp32Snapshot) != -1)
{
PROCESSENTRY32 processEntry32;
processEntry32.dwSize = sizeof(processEntry32);
if(Process32First(toolHelp32Snapshot, &processEntry32)) //判断进程获取首进程是否存在
{
do
{
int iLen = 2 * wcslen(processEntry32.szExeFile); //wcslen - 计算宽字符串的长度
char* currentProcessName = new char[iLen + 1];
wcstombs(currentProcessName, processEntry32.szExeFile, iLen + 1); //将宽字符转换成多字符
if (strcmp