Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Prozesse - mal wieder ein Prozeßbetrachter (und mehr)

  Alt 6. Jun 2009, 21:30
Zitat von Delphi-Laie:
Diese Frage kann ich gleich an Mikroweich weiterleiten....
In irgend einem MS Blog hab ich mal ne Begründung für die unterschiedliche Verhaltensweise gesehen. Weiß aber nicht mehr wo ...

Zitat von Delphi-Laie:
Nein, aber auf der anderen Seite stört es mich sooo sehr nun auch wieder nicht. Mir ging es darum, die Ergebnisse der o.g. Schnappschüsse und der o.g. Enumerationen zu präsentieren und das zusätzliche "Rumgemache" zu begrenzen (und wenn, dann vor allem in die Ermittlung weiterer Informationen zu investieren, hier in IsEnabled und IsVisible). Der Pfad ist doch auch unter NTx ermittelbar, dann aber eben im Modulschnappschuß. Sicher könnte ich das in den Prozeßschnappschuß integrieren, aber ein Ergebnis des Modulschnappschusses in den Prozeßschnappschuß integriert, ist doch auch ein klein wenig "gemogelt".
Ist nicht so als wäre es übermäßig kompliziert den Dateinamen zu ermitteln:
Delphi-Quellcode:
  function GetProcessFilename2k(PID: DWord): WideString;
  var hProc: Cardinal;
    Buffer: PWideChar;
  begin
    //MAX_PATH under NT is 32767 wchars + 1 for terminating 0 wchar
    GetMem(Buffer, 32768 * 2);
    hProc := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PID);

    if hProc <> 0 then
    begin
      if GetModuleFileNameExW(hProc, 0, Buffer, 32768 * 2) <> 0 then Result := Buffer
      else Result := '';

      CloseHandle(hProc);
    end;

    FreeMem(Buffer, 32768 * 2);
  end;
Ich behaupte auch, der Code wird dadurch nicht unübersichtlicher. Das Programm erhält aber signifikant mehr Usability.
Fridolin Walther
  Mit Zitat antworten Zitat