Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Standardicon für UNBEKANNTE Dateien... (https://www.delphipraxis.net/51739-standardicon-fuer-unbekannte-dateien.html)

FriFra 17. Aug 2005 23:40


Standardicon für UNBEKANNTE Dateien...
 
Wie bekomme ich das Standardicon welches am aktuellen System für unbekannte Dateien verwendet wird?
http://www.frifra.de/Temp/unknownfile.gif

Luckie 17. Aug 2005 23:53

Re: Standardicon für UNBEKANNTE Dateien...
 
3.1 kannst du schon mal vergessen. ;)

FriFra 17. Aug 2005 23:59

Re: Standardicon für UNBEKANNTE Dateien...
 
Zitat:

Zitat von Luckie
3.1 kannst du schon mal vergessen. ;)

3.1 war ja auch nicht ganz ernst gemeint :lol: ... ich hatte nur gerade noch mein 3.1 auf VMware am laufen, da konnte ich mir das nicht verkneifen.
Ich will eben genau das Icon haben, welches in dem Fall am aktuellen System angezeigt wird.

ErazerZ 18. Aug 2005 00:43

Re: Standardicon für UNBEKANNTE Dateien...
 
ist in shell32.dll gespeichert als name: 1 :)
vielleicht sowas wie
hIcon := ExtractIcon(hInstance, 'shell32.dll', 1);

bigg 18. Aug 2005 00:56

Re: Standardicon für UNBEKANNTE Dateien...
 
moin,

mit dieser Funktion erhälst du das Handle kleiner Icons.
Dann könntest du über Icon.Handle darauf zugreifen oder gleich in eine ImageList kopieren.



Delphi-Quellcode:
uses ShellAPI;

function GetFileIcon(const FileName: String): Cardinal;
var FileInfo: TSHFileInfo;
begin
if SHGetFileInfo(PChar(FileName), 0, FileInfo, SizeOf(FileInfo),
SHGFI_SMALLICON or SHGFI_OPENICON or SHGFI_ICON or SHGFI_SYSICONINDEX) <> 0 then
Result := FileInfo.hIcon else
Result := 0;

end;

Luckie 18. Aug 2005 01:46

Re: Standardicon für UNBEKANNTE Dateien...
 
Und was soll er als Filename angeben? Woher soll erwissen, welcher Dateityp mit keiner Anwendung verknüpft ist?

FriFra 18. Aug 2005 02:12

Re: Standardicon für UNBEKANNTE Dateien...
 
Zitat:

Zitat von Luckie
Und was soll er als Filename angeben? Woher soll erwissen, welcher Dateityp mit keiner Anwendung verknüpft ist?

Genau... ich könnte natürlich "dlkjlkj.poidwodkldm" angeben :lol: Aber das bettr. Icon scheint bei allen gängigen Windows Versionen tatsächlich das erste aus der Shell32.dll zu sein. Das Icon kann ich natürlich auslesen, aber eine saubere Lösung ist das nicht, aber warscheinlich die einzige ;)

Luckie 18. Aug 2005 02:41

Re: Standardicon für UNBEKANNTE Dateien...
 
Eigentlich müsste es irgendwo in der Registry stehen bei den Dateitypen, da ist ja auch immer das Icon angegeben.

Olli 18. Aug 2005 12:31

Re: Standardicon für UNBEKANNTE Dateien...
 
Zitat:

Zitat von Luckie
Eigentlich müsste es irgendwo in der Registry stehen bei den Dateitypen, da ist ja auch immer das Icon angegeben.

Irrtum, leider nicht immer :|
HKCR\Unknown oder HKCR\* sollten zuständig sein. Bei mir (auf W2K) gibt es in beiden keine Iconeinträge. Ich schau nochmal kurz in die Explorer.exe (habe aber nur die von XP hier).

bigg 18. Aug 2005 12:43

Re: Standardicon für UNBEKANNTE Dateien...
 
Ruf doch einfach CreateFile auf, leg eine Datei ins temporäre Verzeichnis ab und ruf anschließend
meine Funktion auf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Seite 1 von 2  1 2      

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