![]() |
Dateisymbole ohne *.exe
Hi,
ich möchte in einer listview die shell-symbole auslesen AUSSER die "speziellen" und dateispezifischen icons von exe-dateien. ich möchte das ganze machen OHNE sowas:
Delphi-Quellcode:
wie in den zip-archiven von windows xp (da wird ja auch nicht für jede exe-datei im archiv das symbol ausgelesen.)
if not ExtractFileExt(rec.name) = '.exe' then ...
PLEASE HELP!!!!!!!!!!!!!!! mfg |
Re: Dateisymbole ohne *.exe
Das funktioniert am einfachsten mit der Zuweisung der so genannten System-Imagelist. Wenn du die bspw. an deine List-View übergibst, dann kannst du mit der Funktion [dp]"SHGetFileInfo"[/dp] den Icon-Index einer Datei auslesen, der dann exakt auf das Icon in der Sys-IL verweist. Und da deine List-View dann ja die Sys-IL benutzt, brauchst du als "ImageIndex" nur den ermittelten Wert zuweisen, und voilà.
Und wo kann man was dazu erfahren, wenn nicht in den viel zitierten, oft kopierten, nie erreichten (:mrgreen:) ![]() |
Re: Dateisymbole ohne *.exe
hi,
mir geht es nicht darum die icons ins listview zu bekommen sondern dass alle symbole ausgelesen werden bis auf die von EXE-dateien (da diese ja immer "speziell" sind, sprich für (fast) jede exe-datei ein eigenes symbol), denn die auslese-zeiten sind mir zu hoch... hat jemand ein tipp??? |
Re: Dateisymbole ohne *.exe
Ich glaube, ich muss deutlicher werden -
Die angesprochene System-Imageliste enthält die Symbole von allen Dateitypen und Dateien, die du auch im Explorer siehst. Und welches Symbol wird dir im Explorer bei irgendeiner Exe angezeigt? So gesehen läuft es exakt auf das hinaus was du eigentlich wissen willst. Dein Problem war in dem Fall eben nur, dass du meinen Tipp abgelehnt hast ohne ihn auszuprobieren. Das ist nicht mein Problem. ![]() Wenn das immer noch nicht das ist, was du willst, dann solltest du deutlicher werden. |
Re: Dateisymbole ohne *.exe
Liste der Anhänge anzeigen (Anzahl: 1)
Hi MathiasSimmack,
ich wollte nicht unhöflich sein :oops: , aber: ich habe sehr wohl deinen tipp befolgt, mit ausnahme der HIMAGELIST. ich habs so gemacht:
Delphi-Quellcode:
aber ich mach lieber noch n screenshoot (anhang)
procedure TForm1.FormCreate(Sender: TObject);
var fi: TSHFileInfo; begin hImgSm := TImageList(SHGetFileInfo(nil,0,fi,sizeof(fi),SHGFI_SYSICONINDEX or SHGFI_SMALLICON)); if (hImgSm <> nil) then listview1.smallimages := hImgSm; end; |
Re: Dateisymbole ohne *.exe
Dann erstelle ein Symbol was du angezeigt haben willst wenn es eine Exe-datei ist. Und dieses fügst du dann in die Imageliste mit ein. Und wenn es eine Exe-Datei ist weißt du den Index deines symbols dem item zu?! Hoffe ich habs ni falsch verstanden...
|
Re: Dateisymbole ohne *.exe
@silentAMD: Das hatte mit Unhöflichkeit nichts zu tun. Ich bezog mich nur auf deinen Satz
Zitat:
|
Re: Dateisymbole ohne *.exe
hi,
geht das nicht auch mit dem systemicon???? :?: :gruebel: |
Re: Dateisymbole ohne *.exe
ich hab antivir und das dauert saulange! ich weiß ja nicht was ihr benutzt, aber bei mir dauert so ne große exe von >= 80MB so 10 sekunden!! des is viel... :mrgreen:
|
Re: Dateisymbole ohne *.exe
Ich habe auch AntiVir, und ich gebe zu: Das ist ein Schwachpunkt. Mein altes Norton AV hatte das Problem nicht. Aber meist (da ich ja eigentlich nur eigene CDs benutze) klappe ich den Regenschirm mal kurz zu, wenn ich auf CDs zugreifen möchte. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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