根據進程名獲取進程PID


//根據進程名獲取PID
DWORD CBiaoBai1Dlg::GetProcessIdByProcessName(char* pszProcessName)
{
    //1.創建進程快照
    HANDLE hSnap = CreateToolhelp32Snapshot(
        TH32CS_SNAPPROCESS,            //遍歷進程快照1
        0);                            //進程PID
    if (INVALID_HANDLE_VALUE == hSnap)
    {
        MessageBox("創建進程快照失敗!");
        return 0;
    }

    //2.獲取第一條進程快照信息
    PROCESSENTRY32  stcPe = { sizeof(stcPe) };
    if (Process32First(hSnap, &stcPe))
    {

        //3.循環遍歷進程Next
        do {

            //獲取快照信息
            USES_CONVERSION;
            CString ProcessName = A2T(pszProcessName);
            if (!lstrcmp(stcPe.szExeFile, ProcessName))
            {
                //4.關閉句柄
                CloseHandle(hSnap);
                return stcPe.th32ProcessID;
            }

        } while (Process32Next(hSnap, &stcPe));

    }

    //4.關閉句柄
    CloseHandle(hSnap);
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM