IsProcessRunning

 avatar
user_6919294
c_cpp
a month ago
1.0 kB
3
Indexable
Never
// fperson bool IsProcessRunning

#include <windows.h>
#include <tlhelp32.h>
#include <System.SysUtils.hpp>


// funkcja zwraca boolean czy aplikacja jest uruchomiona czy nie.
bool IsProcessRunning(const String &ProcessName)
{
    HANDLE hProcessSnap;
    PROCESSENTRY32 pe32;
    bool bFound = false;

    // Utwórz uchwyt do zrzutu procesów
    hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hProcessSnap == INVALID_HANDLE_VALUE)
        return false;

    pe32.dwSize = sizeof(PROCESSENTRY32);

    // Pobierz pierwszy proces
    if (Process32First(hProcessSnap, &pe32))
    {
        do
        {
            // Sprawdź, czy nazwa procesu odpowiada tej, której szukamy
            if (ProcessName.CompareIC(pe32.szExeFile) == 0)
            {
                bFound = true;
                break;
            }
        } while (Process32Next(hProcessSnap, &pe32));
    }

    // Zamknij uchwyt do zrzutu procesów
    CloseHandle(hProcessSnap);

    return bFound;
}
Leave a Comment