Einzelnen Beitrag anzeigen

Benutzerbild von smallsmoker
smallsmoker

Registriert seit: 12. Nov 2007
Ort: Duisburg
283 Beiträge
 
#1

Anwendungspfad über das Fenster-Handle ermitteln

  Alt 1. Okt 2008, 22:12
hi,
wie bekomme ich von einem window handle den dazugehörigen exepath ?
da ich das hier nicht gefunden habe poste ich mal meine lösung

Delphi-Quellcode:
uses
  PSAPI, TlHelp32;

[..]

function GetExeNamefromHwnd(hwindow: HWND): String;
var
  ModuleEntry: TModuleEntry32;
  hModuleEntry: THandle;
  ProcessId: Cardinal;
begin
  Result := '';
  GetWindowThreadProcessId(hwindow,ProcessId);
  if ProcessID <> INVALID_HANDLE_VALUE then
    hModuleEntry := CreateToolHelp32Snapshot(TH32CS_SNAPMODULE, ProcessId);
    if hModuleEntry <> INVALID_HANDLE_VALUE then
    begin
      ModuleEntry.dwSize := SizeOf(TModuleEntry32);
      if Module32First(hModuleEntry, ModuleEntry) then
        Result := MOduleEntry.szExePath;
      CloseHandle(hModuleEntry);
    end;
end;
Delphi-Quellcode:
//Beispielaufruf
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := GetExeNamefromHwnd(Self.Handle);
end;
mfg smallsmoker

suchwörter: hwnd Fenster pfad

[edit=Daniel G]Code ergänzt. Mfg, Daniel G[/edit]
[edit=Daniel G]Titel des Beitrags angepasst. Mfg, Daniel G[/edit]
  Mit Zitat antworten Zitat