![]() |
Moin FriFra,
und wenn Du es mal mit .htm versuchst? |
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Du kannst Dir ja mal den Screenshot und den Code von APP ansehen und meinen Screenshot... Ich befürchte fast, das es mit dem XP-SP1 zusammenhängt... Wie gesagt, unter NT hab ich das Problem nicht... |
Moin FriFra,
nur zur Info: Ich hab' mir das Attachement von APP mal runtergeladen: Button1 -> geht (4) Button2 -> geht nicht (0) W2K SP2 |
Wie schon gesagt, unter XP scheint der Code nicht zuverlässig zu sein...
So siet es bei mir aus (XP Home und XP pro!): http://www.delphipraxis.net/download.php?id=1371 und so bei APP: http://www.delphipraxis.net/download.php?id=1369 Ich frage mich dabei nur, welche andere verborgene API-Funktion verwendet der Explorer, denn der kann diese Icons anzeigen... |
Moin FriFra,
Du könntest noch versuchen mal gezielt InitCommonControls bzw. InitCommonControlsEx aufzurufen. Die haben auch was mit den ImageListen zu tun. |
Hallo,
folgende Methode liefert mir unter Win200 immer das richtige ICON.
Delphi-Quellcode:
procedure GetAssociatedIconEx(const Filename : String; Icon : TIcon);
var SHFileInfo: TSHFileInfo; begin // CoInitialize has to be called before SHGetFileInfo (done by Delphi) FillChar(SHFileInfo, SizeOf(TSHFileInfo), 0); if (SHGetFileInfo(PChar(Filename), FILE_ATTRIBUTE_NORMAL, SHFileInfo, SizeOf(TSHFileInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON) <> 0) then // or SHGFI_LARGEICON, SHGFI_LINKOVERLAY, SHGFI_OPENICON, SHGFI_SELECTED try // get it Icon.Handle := CopyIcon(SHFileInfo.hIcon); finally // you are responsible for destroying the icon handle DestroyIcon(SHFileInfo.hIcon); end; end; Quelle: Nico Bendlin |
Zitat:
![]() Ausserdem machst Du ja im Prinzip das Gleiche wie alle anderen auch... |
Hast Du eigentlich meine Routine auch ausprobiert, eine neue Anwendung nur mit einem TImage drauf? Falls nein, dann solltest Du es mal probieren, wahrscheinlich wird auch da nichts angezeigt.
Habe gerade noch etwas herumgebastelt und festgestellt, das bei mir die psd (Photoshop) und mpeg-Icons nicht angezeigt werden, es wird immer eine 3 als Index zurückgeliefert, genauso wir für ico-Dateien. |
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
http://www.delphipraxis.net/download.php?id=1385
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, ShellAPI; type TForm1 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure GetAssociatedIconEx(const Filename : String; Icon : TIcon); var SHFileInfo: TSHFileInfo; begin // CoInitialize has to be called before SHGetFileInfo (done by Delphi) FillChar(SHFileInfo, SizeOf(TSHFileInfo), 0); if (SHGetFileInfo(PChar(Filename), FILE_ATTRIBUTE_NORMAL, SHFileInfo, SizeOf(TSHFileInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON) <> 0) then // or SHGFI_LARGEICON, SHGFI_LINKOVERLAY, SHGFI_OPENICON, SHGFI_SELECTED try // get it Icon.Handle := CopyIcon(SHFileInfo.hIcon); finally // you are responsible for destroying the icon handle DestroyIcon(SHFileInfo.hIcon); end; end; procedure TForm1.FormCreate(Sender: TObject); begin GetAssociatedIconEx('c:\test.htm',Image1.Picture.Icon); end; end. |
Zitat:
Aber da ich ja jetzt weiß wonach ich bei mir suchen muß... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 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