Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi Anwendungspfad über das Fenster-Handle ermitteln (https://www.delphipraxis.net/121648-anwendungspfad-ueber-das-fenster-handle-ermitteln.html)

smallsmoker 1. Okt 2008 22:12


Anwendungspfad über das Fenster-Handle ermitteln
 
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]


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz