Einzelnen Beitrag anzeigen

helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#1

Re: Lokalisierung: Name der geladenen Resource-DLL herausfin

  Alt 12. Aug 2008, 21:53
@OldGrumpy ja schande über mich... ich mach das nebenher, daher editiere ich meine Beiträge im Laufe der Zeit auch ein paarmal, siehe oben.

Um meine Verpeiltheit wieder gut zu machen hier nun ein Vorschlag, um das ausgängliche Problem des Threadstellers zu illustrieren:
Delphi-Quellcode:
procedure EnumModulesOf(pid : Cardinal);
var
  hProcess: Cardinal;
  Modules: Array[0..65535] of hModule;
  cbNeeded:Cardinal;
  i: integer;
begin
  hProcess := OpenProcess(PROCESS_ALL_ACCESS,false,pid);
  if hProcess <> 0 then
  begin
    EnumProcessModules(hProcess,@Modules,65536,cbNeeded);
    if 65536 < cbNeeded div SizeOf(HModule) then writeln('Too many modules loaded. Not all modules will be displayed.');
    for i := 1 to cbNeeded div SizeOf(HModule)-1 do
    begin
      if _GetModuleFileName(Modules[i]) <> 'then
        writeln(' ',inttohex(Modules[i],8),' : ',_GetModuleFileName(Modules[i]))
      else
        writeln(' ',inttohex(Modules[i],8),' : unknown');
    end;
    CloseHandle(hProcess);
  end
  else
    writeln('could not open process #',pid);
  readln;
end;
in der Tat gibt es viele Module, die keinen Dateinamen haben, obwohl sie aufgelistet wurden
  Mit Zitat antworten Zitat