Einzelnen Beitrag anzeigen

nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#22

AW: Pfad des aktiven Fensters ermitteln

  Alt 29. Apr 2018, 22:33
ok, jetzt hab ich den Hinweis von EWeiss verstanden und damit klappts dann auch, wenn ich den von Lucky verlinkten Code entsprechend ergänze:

Delphi-Quellcode:
function getpath: String;
var
ShellWin: IShellWindows;
i: Integer;
ClName: array[0..64]of Char;
Pfad: AnsiString;
wnd: hwnd;
begin
wnd := GetForegroundWindow;
ShellWin := CoShellWindows.Create;
for i := 0 to Pred(ShellWin.Count) do
   with ShellWin.Item(i) as IWebBrowser2 do begin
   GetClassName(hwnd, ClName, SizeOf(ClName));
      if wnd = hwnd then begin
      if (string(ClName)= 'ExploreWClass') or (string(ClName)= 'CabinetWClass') then
      begin
        Pfad:= StringReplace(LocationURL, 'file:///', '', [rfReplaceAll, rfIgnoreCase]);
        Pfad:= StringReplace(Pfad, '/', '\', [rfReplaceAll]);
        Pfad:= StringReplace(Pfad, '%20', ' ', [rfReplaceAll]);
        if DirectoryExists(Pfad) then
        Result := IncludeTrailingPathDelimiter(Pfad);
      end;
      end;
    end;
    end;
liefert den Pfad des aktiven Fensters.

Danke an alle, Problem gelöst.
  Mit Zitat antworten Zitat