AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Problem mit Shellicons...

Offene Frage von "FriFra"
Ein Thema von FriFra · begonnen am 19. Jun 2003 · letzter Beitrag vom 18. Jul 2003
 
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#35

Re: Problem mit Shellicons...

  Alt 18. Jul 2003, 17:26
Leider funktioniert auch dieser Code nicht:
http://www.frifra.de/Temp/iconindex.JPG

Deinen Code habe ich wie folgt implementiert:
Delphi-Quellcode:
function TMain.GetShellIcon(FileName: string): integer;
var
  isfWork : IShellFolder;
  piidWork : PItemIdList;
  dwDummy : DWORD;
  fiWork : TSHFileInfo;
  wsWork : WideString;
begin
Result:=0;
  // Interface auf IShellLink holen
  SHGetDesktopFolder(isfWork);
  //Falls ein Laufwerksbuchstabe übergeben wurde...
  if Length(FileName) = 1 then
    FileName := FileName + ':';
  //Laufwerke sollten mit \ enden...
  if (Length(FileName) = 2) and (copy(FileName, length(FileName), 1) = ':') and
    (copy(FileName, length(FileName), 1) <> '\') then
    FileName := FileName + '\';

  // Dateiname; Vielleicht geht auch nur die Extension
  wsWork := FileName;
  // Weil Borland ja bei Pointern immer var Parameter nimmt ist ein Dummy erforderlich
  dwDummy := 0;
  // ItemIdList des Pfades holen
  isfWork.ParseDisplayName(0,nil,PWideChar(wsWork),dwDummy,piidWork,dwDummy);
  // Und die Info abfragen
  SHGetFileInfo(PChar(piidWork),0,fiWork,SizeOf(fiWork),SHGFI_PIDL or SHGFI_ICON or SHGFI_SMALLICON);
  // fiWork.iIcon enthält jetzt auch den Index in der SystemImageList, hIcon das Handle
    try
    //IconIndex liefern...
    Result := fiWork.iIcon
  finally
    // you are responsible for destroying the icon handle
    DestroyIcon(fiWork.hIcon);
  end;
end;
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:54 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