Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Taskname aus PID

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.06.2006, 14:10 Uhr
-Biohazard-



Hallo Leute,
wie kann ich aus der ProcessID den Prozessnamen herausbekommen?
Danke,
-Biohazard-
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.06.2006, 15:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


OpenProcess und dann über das Handle halt GetModuleName o.ä
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.06.2006, 17:03 Uhr
-Biohazard-



Danke
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.06.2006, 17:26 Uhr
Tron



Hallo,

die PID und die Prozesse bekommst Du so.


C++:

#include <vcl.h>
#include <psapi.h>  
#include <iostream>
#include <iomanip>
#include <tchar.h>

using namespace std;
void processName(DWORD);


void processAndId()
{
  DWORD processes[1024];
  DWORD buffer = 0;
  DWORD need = 0;
  DWORD process = 0;
  unsigned int i = 0;

  buffer = sizeof(processes);

  if(!EnumProcesses(processes, buffer, &need))
  {
     return;
  } // ende if
  // Anzahl der ermittelten Prozesse.
  process = need / sizeof(DWORD);
  cout<<need<<endl;

  for(i ; i < process; i++)
  {
    processName(processes[i]);
  }
}

void processName(DWORD processID)
{
    // THCHAR name[MAX_PATH = TEXT("unbekannt");
    // Es werden nicht alle Prozesse mit ihrem Namen aufgelistet,
    // auch wenn dieser schon an anderer Stelle aufgelistet wird.
    TCHAR name[MAX_PATH];
    HANDLE hProcess;

    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);

    if(hProcess != NULL)
    {
      HMODULE hMod;
      DWORD need = 0;

      if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &need))
      {
        GetModuleBaseName(hProcess, hMod, name, sizeof(name)/ sizeof(TCHAR));
        //cout<<"Test: "<<GetLastError()<<endl;
      } // ende if
    } // ende if
    cout<<"PID : "<<processID<<" "<<name<<endl;
}


psapi.lib nicht vergessen.

Gruss Tron
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.06.2006, 18:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


@Tron, erst lesen dann posten! Er wollte nicht die prozess-id's/namen der aktuell laufenden Prozesse, sondern aus der ProzessID den Namen des angegebenen Prozesses.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.06.2006, 18:18 Uhr
-Biohazard-



@ Flosoft,
wie lautet denn die Headerdatei und die Syntax von GetModuleName()? Unter MSDN fand ich leider gar nichts
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.06.2006, 18:36 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


sorry GetModuleFileName natürlich bzw GetModuleFileNameEx um einen Prozess-Handle angeben zu können.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.06.2006, 19:29 Uhr
-Biohazard-



Danke nochmals, FloSoft
Aber mein Compiler hat wohl Probleme mit der Headerdatei "psapi.h"

Zitat:
Error: Ungelöste externe 'GetModuleFileNameExA' referenziert von CPROJEKTE\BORLAND\TEST\WINDOWS\DEBUG_BUILD\TEST.OBJ

Kann man diese irgendwo anders downloaden und überspielen?

Danke
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
25.06.2006, 19:41 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du hast psapi.lib vergessen einzubinden.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: