Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: PIDL und der Font-Ordner - geht nicht

  Alt 13. Mär 2020, 08:08
Ich bin dem Problem einen Schritt näher gekommen indem ich mir einen auf PIDL's basierten Explorer nachgebastelt habe.
Das "Geheimnis" ist, das im Fonts Ordner abgelegte Dateien von Windows anders angesprochen werden.
Mein Anhang sagt mehr als tausend Worte, wie man allerdings von den Objekten wiederum einen Dateinamen zaubert bleibt mir noch verborgen.

Nun zu Deinem Eigenschaften-Dialog, hier ist ein getesteter Kode der den Standard Windows Eigenschaften Dialog provoziert.

Delphi-Quellcode:
procedure PropertiesDialog(const Path: string); overload;
var
  SEI: TShellExecuteInfo;
begin
  FillChar(SEI, SizeOf(SEI), 0);
  SEI.cbSize := SizeOf(SEI);
  SEI.lpFile := PChar(Path);
  SEI.lpVerb := 'properties';
  SEI.fMask := SEE_MASK_INVOKEIDLIST;
  ShellExecuteEx(@SEI);
end;

procedure PropertiesDialog(const PIDL: PItemIDList); overload;
var
  SEI: TShellExecuteInfo;
  Path: array[0..MAX_PATH - 1] of WideChar;
begin
  if SHGetPathFromIDList(PIDL, @Path) then
    begin
      FillChar(SEI, SizeOf(SEI), 0);
      SEI.cbSize := SizeOf(SEI);
      SEI.lpFile := PChar(String(Path));
      SEI.lpVerb := 'properties';
      SEI.fMask := SEE_MASK_INVOKEIDLIST;
      ShellExecuteEx(@SEI);
    end;
end;
Miniaturansicht angehängter Grafiken
screenshot-12_03.png  
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat