Seite 1 von 2
icon aus exe lesen
Verfasst: 11.08.2005 02:35
von sen-me
hi, hab schon fast alles versucht, aber wie kann ich icons aus einer exe lesen und in einer listicongadget anzeigen?
LoadIcon_ geht ja nicht oda?
dann hab ich versucht
ExtractIcon_ mit DrawIcon_
hat auch nicht geklappt
wie sonst?
Verfasst: 11.08.2005 02:41
von MVXA
Ein Icon in der Exe ist nichts weiter als ein Bildchen in einer Resource. Hast
du dir schonmal diese
Userlib angesehen?
Verfasst: 11.08.2005 02:41
von Christi
Wenn du das Icon über IncludeBinary eingebunden hast kannst du es mit CatchImage() laden.
Verfasst: 11.08.2005 02:47
von Hroudtwolf
Bei ExtractIcon_ ist der Iconindex des ersten Icons einer Exe-Datei immer
eine 0.
Das nur mal so nebenbei falls dein Versuch damit an einem Indexwert von 1 gescheitert ist.
Re: icon aus exe lesen
Verfasst: 11.08.2005 02:55
von ts-soft
sen-me hat geschrieben:hi, hab schon fast alles versucht, aber wie kann ich icons aus einer exe lesen und in einer listicongadget anzeigen?
LoadIcon_ geht ja nicht oda?
dann hab ich versucht
ExtractIcon_ mit DrawIcon_
hat auch nicht geklappt
wie sonst?
Code: Alles auswählen
Icon = LoadIcon_(GetModuleHandle_(0),"#1")
If OpenWindow(0, 200, 200, 200, 210, #PB_Window_MinimizeGadget, "")
If CreateGadgetList(WindowID())
ListIconGadget(0, 5, 25, 190, 190, "Einträge", 80)
AddGadgetItem(0, -1, "Neu" ,Icon)
EndIf
EndIf
Repeat
EventID.l = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
End
Funktioniert bei mir aber einwandfrei

//Nachtrag: Siehste aber nicht in der PureBasic-IDE, sondern nach Erstellung und Ausführung der Exe (es sei denn Du verwendest jaPBe, der zeigt es sofort an)
Verfasst: 11.08.2005 11:53
von sen-me
ich will es aber so:
man öffnet durch openfilerequester das fenster, und wählt aus.
nun kommt der dateipfad in die liste und mit einem icon vorne dran, des gewählten programmes
also weis ich nicht vorher, 1. wies icon heist, 2. wie die exe heist
wie das mit dem pfad geht weis ich schon, blos das dumme icon hält mich auf
Verfasst: 11.08.2005 14:54
von ts-soft
Ein einfaches Beispiel, das Du wahrscheinlich noch abwandeln mußt:
Code: Alles auswählen
Structure ExeIcons
Icon.l
Exe.s
EndStructure
NewList ExeIcons.ExeIcons()
FileName$ = OpenFileRequester("Wählen Sie einige Dateien aus","*.exe", "Executable (*.exe)|*.exe",0, #PB_Requester_MultiSelection)
While FileName$
AddElement(ExeIcons())
ExeIcons()\Exe = FileName$
ExeIcons()\Icon = ExtractIcon_(GetModuleHandle_(0), @ExeIcons()\Exe, 0)
FileName$ = NextSelectedFileName()
Wend
If OpenWindow(0, 200, 200, 200, 210, #PB_Window_MinimizeGadget, "")
If CreateGadgetList(WindowID())
ListIconGadget(0, 5, 25, 190, 190, "Einträge", 180)
ForEach ExeIcons()
AddGadgetItem(0, -1, ExeIcons()\Exe ,ExeIcons()\Icon)
Next
EndIf
EndIf
Repeat
EventID.l = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
End
Verfasst: 11.08.2005 15:06
von benny
Einer 'ne Idee wie das im umgekehrten Falle geht

Also bei einer .exe
ein vorhandendes Icon mit einem neuen austauschen

Verfasst: 11.08.2005 15:21
von traumatic
benny hat geschrieben:Also bei einer .exe
ein vorhandendes Icon mit einem neuen austauschen

So in der Art?
http://forums.purebasic.com/english/vie ... hp?t=14019
Verfasst: 11.08.2005 15:51
von sen-me
danke, mit exe klapts nun, kann man aber auch von andren das icon anzeigen lassen?
z.b.
bmp
pb
chm
dat
txt
....