AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Windows API / MS.NET Framework API Delphi Name (lokalisiert) und Icon von Shell-Objekten erhalten
Thema durchsuchen
Ansicht
Themen-Optionen

Name (lokalisiert) und Icon von Shell-Objekten erhalten

Ein Thema von Sunlight7 · begonnen am 18. Nov 2006
Antwort Antwort
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#1

Name (lokalisiert) und Icon von Shell-Objekten erhalten

  Alt 18. Nov 2006, 19:04
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

Name:
Delphi-Quellcode:
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;
Beispiel:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
   Caption:=GetShellDescription('::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');
end;

Icon:
Delphi-Quellcode:
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;
Beispiel:
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

Das ganze funktioniert auch mit Pfaden und Dateien: GetShellIcon('C:\'), GetShellDescription('C:\')

Edit: Arbeistplatz im Titel korrigiert

[edit=CalganX] Mfg, CalganX[/edit]
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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