icon aus exe lesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

icon aus exe lesen

Beitrag 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?
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Ein Icon in der Exe ist nichts weiter als ein Bildchen in einer Resource. Hast
du dir schonmal diese Userlib angesehen?
Bild
Christi
Beiträge: 154
Registriert: 31.08.2004 14:17
Kontaktdaten:

Beitrag von Christi »

Wenn du das Icon über IncludeBinary eingebunden hast kannst du es mit CatchImage() laden.
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: icon aus exe lesen

Beitrag 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)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
benny
Beiträge: 383
Registriert: 29.08.2004 09:18
Wohnort: Am Ende des www's
Kontaktdaten:

Beitrag von benny »

Einer 'ne Idee wie das im umgekehrten Falle geht :?: Also bei einer .exe
ein vorhandendes Icon mit einem neuen austauschen :?:
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag 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
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag 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
....
Antworten