Problem mit Prozeß auslesen



  • //---------------------------------------------------------------------------
    void TForm1::GetProcessNames(TStrings* AList,DWORD ID)
    {
    if(AList)
    {
    char szProcessName[MAX_PATH] = "unknown";
    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ,FALSE,ID);
    if(hProcess)
    {
    HMODULE hMod;
    DWORD cbNeeded;
    if (EnumProcessModules( hProcess, &hMod, sizeof(hMod),&cbNeeded) )
    GetModuleBaseName( hProcess, hMod, szProcessName,sizeof(szProcessName) );
    }
    AList->Add(String(szProcessName));
    CloseHandle(hProcess);
    }
    }

    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    RichEdit1->Lines->Clear();
    DWORD Processes[1024],size,count;
    if (EnumProcesses(Processes,sizeof(Processes),&size))
    for (int i=0;i<int(size/sizeof(DWORD));i++)
    GetProcessNames(RichEdit1->Lines,Processes[i]);
    }
    //---------------------------------------------------------------------------

    ich habe obem genate Code von hier ausprobieren.

    [Linker Fehler] Unresolved external 'EnumProcesses' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ
    [Linker Fehler] Unresolved external 'EnumProcessModules' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ
    [Linker Fehler] Unresolved external 'GetModuleBaseNameA' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

    ich habe #include <Psapi.h> schon eingefügt.

    muss ich noch mehr erledigen, damit diese Code testen kann?

    Gruß



  • Hast du auch die lib mit verlinkt?



  • Hi

    was meinst du damit? ich habe nur #include <Psapi.h> eingebunden

    wie kann ich die lib verlinkten?

    Gruß
    S.Mathi 🙄



  • Eventuel fehlt noch
    advapi32.lib



  • Jetzt habe dem Project advapi32.lib eingefügt.

    folgende weg:

    Projekt-->dem Projekt hinfügen. so. Ist es richtig?

    jetzt habe ich andere Fehler

    [Linker Fehler] Unresolved external 'EnumProcesses' referenced from L:\C\PROZESSAUSLESEN\UNIT1.OBJ
    [Linker Fehler] Unresolved external 'TForm1::GetProcessNames(Classes::TStrings *, unsigned long)' referenced from L:\C\PROZESSAUSLESEN\UNIT1.OBJ

    Gruß
    S.Mathi


Anmelden zum Antworten