Einzelnen Beitrag anzeigen

mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#1

Von Fensterhandle auf EXE-Pfad + Dateiname schließen

  Alt 4. Mai 2006, 20:45
ich schaffe es mit folgendem Code von einem Fensterhandle auf die zugehörige Exe-Datei zu schließen.

Delphi-Quellcode:
function hGetWindowModuleFileName(const hSrcWnd: HWND): string;
var
  Data :TProcessEntry32;
  hID :DWord;
  Snap : Integer;
  Done : boolean;
  ExeName : string;
begin
  Result := '';
  try
    GetWindowThreadProcessId(hSrcWnd,@hID);
    Snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    Done:=false;
    ExeName := '';
    try
      Data.dwSize:=SizeOf(Data);
      if(Process32First(Snap,Data))then
      begin
        repeat
          if Data.th32ProcessID=hID then
          begin
            ExeName:= StrPas(Data.szExeFile);
            Done:=true;
          end;
        until Done or not(Process32Next(Snap,Data));
      end;
    finally
      Windows.CloseHandle(Snap);
    end;
    result := ExeName;
  except
  end;
end;
wie bekomme ich es aber hin den kompletten Pfad der EXE auszulesen (über ein bestimmtes Fensterhandle)?
  Mit Zitat antworten Zitat