Grazie per la risposta...ma come faccio ad usare le API?
il codice è
codice:
#include<windows.h>
#include<stdio.h>
#include<tlhelp32.h> //trovata su internet, perchè dava errore pure su PROCESSENTRY32 pe32;

void print_system_processes_list(){

    PROCESSENTRY32 pe32;
    ZeroMemory(&pe32,sizeof(PROCESSENTRY32));
    pe32.dwSize = sizeof(PROCESSENTRY32);
    
    int nProcessNameLength = 0;
    
    char lpszProcessNameBuffer[MAX_PATH];
    ZeroMemory(lpszProcessNameBuffer,sizeof(char)*MAX_PATH);
    
    char lpszComputerNameBuffer[MAX_PATH];
    ZeroMemory(lpszComputerNameBuffer,sizeof(char)*MAX_PATH);
    DWORD dwCNB = sizeof(char)*MAX_PATH;
    
    char lpszUserNameBuffer[MAX_PATH];
    ZeroMemory(lpszUserNameBuffer,sizeof(char)*MAX_PATH);
    DWORD dwUNB = sizeof(char)*MAX_PATH;
    
    GetUserName(lpszUserNameBuffer,&dwUNB);
    GetComputerName(lpszComputerNameBuffer,&dwCNB);
    
    printf("\n\nRunning processes on system: %s\n",lpszComputerNameBuffer);
    printf("\nCurrent user context: %s\n",lpszUserNameBuffer);
    
    get_longest_process_name_length(&nProcessNameLength);
    nProcessNameLength = nProcessNameLength + 3;
    
    
    printf("\n");
    
    HANDLE hProcSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

    if(hProcSnapShot == NULL){
        DWORD nErr = GetLastError();
                
        printf("Process enumeration failed. Reason: %d\n",nErr);
        print_last_error_message(nErr);

    }

    if(Process32First(hProcSnapShot,&pe32) == TRUE)
    {
        trim_process_name(pe32.szExeFile,lpszProcessNameBuffer,pe32.th32ProcessID);
        strip_extension_from_executable(pe32.szExeFile, lpszProcessNameBuffer);
        printf("%s;%d;%d;%d\n",lpszProcessNameBuffer,pe32.th32ProcessID,pe32.th32ParentProcessID,pe32.pcPriClassBase);

        while(Process32Next(hProcSnapShot,&pe32) == TRUE)
        {
            trim_process_name(pe32.szExeFile,lpszProcessNameBuffer,pe32.th32ProcessID);
            strip_extension_from_executable(pe32.szExeFile, lpszProcessNameBuffer);
            printf("%s;%d;%d;%d;%d\n",lpszProcessNameBuffer,pe32.th32ProcessID,pe32.th32ParentProcessID,pe32.pcPriClassBase,pe32.cntThreads);

        }
    }

    CloseHandle(hProcSnapShot);

}

int main(void)
{
    print_system_processes_list();
}
e gli errori sono`get_longest_process_name_length' was not declared in this scope
`print_last_error_message' was not declared in this scope
`trim_process_name' was not declared in this scope
`strip_extension_from_executable' was not declared in this scope
Sto usando g++ (su dev-c++)
Cosa devo includere? Scusate se forse è una domanda banale