Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Prozess Pfad ermitteln

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
27.09.2003, 15:58 Uhr
~Hansi
Gast


Hi,

wenn ich eine Prozess ID habe, kann ich dann ausser dem exe Namen auch den Pfad herausfinden in dem sich die exe datei befindet???

Mfg
Hansi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.09.2003, 16:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Habs noch nicht probiert aber CFileFind sollte dir bestimmt weiterhelfen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.09.2003, 16:59 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Vielleicht hilft dir das:


C++:
DWORD GetModuleFileNameEx(
  HANDLE hProcess,    // handle to process
  HMODULE hModule,    // handle to module
  LPTSTR lpFilename,  // path buffer
  DWORD nSize         // maximum characters to retrieve
);



und


C++:
HANDLE OpenProcess(
  DWORD dwDesiredAccess,  // access flag
  BOOL bInheritHandle,    // handle inheritance option
  DWORD dwProcessId       // process identifier
);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.09.2003, 18:26 Uhr
~Hansi
Gast


DANKE SCHÖN!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
28.09.2003, 11:42 Uhr
~Hansi
Gast


Also ich hab das mal probiert. Musste mir erstmal die psapi.dll besorgen.
Aber irgendwie klappts nicht. Ich mach nen Snapshot von den laufenden Prozessen, dann öffnen ich nen Prozess mit OpenProcess() und versuch dann so:

C++:

hProcess = OpenProcess(PROCESS_ALL_ACCESS, true, processEntry.th32ProcessID);

if(hProcess)
{
   GetModuleFileNameEx(hProcess, NULL, path, MAX_PATH);
}



den Pfad herauszufinden.

Kommt aber jedesmal ein Fehler. Muss ich da auch nochn Modul als zweiten Parameter angeben? Und wenn ja welches?

Mfg,
hansi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
28.09.2003, 11:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


würde mal sagen das es

_MAX_PATH heißen muss, nicht MAX_PATH
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
28.09.2003, 15:47 Uhr
~Hansi
Gast


Ne MAX_PATH is auch definiert. Is genau wie _MAX_PATH 260. Daran liegts also nich.
Kommt immer die Fehlermeldung: Die Anweisung in "0x00000000" verweist auf Speicher in "0x00000000". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
28.09.2003, 19:27 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


setz mal nen breakpunkt und sag mir an welcher stelle er dir die access violation schmeisst.
Wahrscheinlich beim GetModuleFileNameEx...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.09.2003, 09:51 Uhr
~Hansi
Gast


Jo genau, beim GetModuleFileNameEx() kommt der Fehler.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.09.2003, 10:01 Uhr
~Hansi
Gast


Hab den Fehler gefunden!

Ich hab gesehen das meine Funktion GetModulefileNameEx() den Wert NULL hat. Dann hab ich mir mal die Dependencies von meiner psapi.dll angeschaut und gesehen das ich die falsche ProcAddress angegeben hab.

Hab:

C++:
GetProcAddress( LoadLibrary( "psapi.dll"), "GetModuleFileNameEx" )



statt:


C++:
GetProcAddress( LoadLibrary( "psapi.dll"), "GetModuleFileNameExA" )



geschrieben .

Trotzdem danke für deine Hilfe!!!!!

Mfg
Hansi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


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: