Prozesse unter NT



  • Hallo,

    ich möchte die Namen der laufenden Prozesse unter NT bekommen und hab folgendes geschrieben (Der Returnwert ist derzeit nur zum testen):

    #include "psapi.h"
    
    [...]
    extern "C" int PASCAL EXPORT ProzessNamen()
    {
            //WindowsNT
            DWORD aProcesses[1024], cbNeeded, cProcesses;
            unsigned int i;
    
        if( !EnumProcesses (aProcesses, sizeof(aProcesses), &cbNeeded) )
        {
           return 0;
        }
    
        //Wieviele Prozessidentifier zurückgegeben werden
        cProcesses = cbNeeded / sizeof(DWORD);
    
        for(i = 0; i < cProcesses; i++)
        {
           char szProcessName[255] = "unknown";
    
           HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION 
                                   |PROCESS_VM_READ, FALSE, aProcesses[i]);
    
               //Prozessnamen herausfinden
           if(hProcess)
           {
               HMODULE hMod;
               DWORD cbNeeded;
    
               if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
               {
              GetModuleBaseName(hProcess, hMod, szProcessName, 
                          sizeof(szProcessName));
              CString csProcessName = szProcessName;
            }
           }
    
        }
            return 0;
    }
    

    Wenn ich nun comiliere kommen folgende Fehlermeldung:
    processes.obj : error LNK2001: Nichtaufgeloestes externes Symbol _GetModuleBaseNameA@16
    processes.obj : error LNK2001: Nichtaufgeloestes externes Symbol _EnumProcessModules@16
    processes.obj : error LNK2001: Nichtaufgeloestes externes Symbol _EnumProcesses@12

    Hat jemand ne Idee was ich da tun kann?

    Grüße
    Mav



  • Original erstellt von Mav:
    Hat jemand ne Idee was ich da tun kann?

    Ja, im WinAPI-Forum nachfragen...



  • Hast du vielleicht vergessen Psapi.lib dazuzulinken 🙄



  • Jep, hab ich vergessen... 😞

    Das war's - danke! 😃


Anmelden zum Antworten