C++强制杀死进程

bool KillProcess(vector<QString> &processNameVec)
{
    bool result = false;
    QString strProcess;
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 pInfo;
    pInfo.dwSize = sizeof(pInfo);
    Process32First(hSnapShot, &pInfo);
    do
    {
        strProcess = QString::fromWCharArray(pInfo.szExeFile);
        bool bIn = false;
        for (int i = 0; i < processNameVec.size(); i++) {
            if (processNameVec[i] == strProcess) {
                bIn = true;
            }
        }
        if (bIn)
        {
            result = true;
            QString cmd;
            cmd = QString("taskkill /F /PID %1 /T").arg(pInfo.th32ProcessID);
            system(cmd.toStdString().c_str());
        }
    } while (Process32Next(hSnapShot, &pInfo));
    return result;
}

猜你喜欢

转载自blog.csdn.net/Best_ZYJ/article/details/81463175