![]() |
Name (lokalisiert) und Icon von Shell-Objekten erhalten
Mit dieser Funktion kann man den Titel vom Arbeitsplatz in der jeweiligen Sprache bekommen.
Das funktioniert auch mit anderen Namen, wie Netzwerk, Systemsteuerung, etc., wenn man die entsprechenden GUIDs dafür einsetzt. Hinweis: Füge ShellAPI zur uses Liste hinzu :wink: Name:
Delphi-Quellcode:
Beispiel:
function GetShellDescription(const Name:String):String;
var FileInfo:TSHFileInfo; Flags:Integer; begin ZeroMemory(@FileInfo, SizeOf(FileInfo)); Flags:=SHGFI_DISPLAYNAME; SHGetFileInfo(PChar(Name), 0, FileInfo, SizeOf(FileInfo), Flags); Result:=FileInfo.szDisplayName; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin Caption:=GetShellDescription('::{20D04FE0-3AEA-1069-A2D8-08002B30309D}'); end; Icon:
Delphi-Quellcode:
Beispiel:
function GetShellIcon(const Name:String; const Large, Open:Boolean):HIcon;
var FileInfo:TSHFileInfo; Flags:Integer; begin ZeroMemory(@FileInfo, SizeOf(FileInfo)); Flags:=SHGFI_ICON; If Open then Flags:=Flags or SHGFI_OPENICON; If Large then Flags:=Flags or SHGFI_LARGEICON else Flags:=Flags or SHGFI_SMALLICON; SHGetFileInfo(PChar(Name), 0, FileInfo, SizeOf(FileInfo), Flags); Result:=FileInfo.hIcon; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin Application.Icon.Handle:=GetShellIcon('::{20D04FE0-3AEA-1069-A2D8-08002B30309D}', True, False); end; Ein paar GUIDs: Arbeitsplatz: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Systemsteuerung: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D} Systemsteuerung - Drucker und Fax: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D} Systemsteuerung - Geplante Tasks: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF} Systemsteuerung - Netzwerkverbindungen: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007ACC7-3202-11D1-AAD2-00805FC1270E} Systemsteuerung - Scanner und Kameras: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{E211B736-43FD-11D1-9EFB-0000F8757FCD} Netzwerk: ::{208D2C60-3AEA-1069-A2D7-08002B30309D} Papierkorb: ::{645FF040-5081-101B-9F08-00AA002F954E} Suche: ::{1f4de370-d627-11d1-ba4f-00a0c91eedba} Wenn wer weitere weiß, immer her damit :wink: Das ganze funktioniert auch mit Pfaden und Dateien: GetShellIcon('C:\'), GetShellDescription('C:\') Edit: Arbeistplatz im Titel korrigiert :roll: [edit=CalganX] Mfg, CalganX[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz