_GUIImageList_AddIcon: Pfad kann nur relativ angegeben werden

  • Hallo!

    Ich spiele (lerne) mit der Funktion _GUIImageList_AddIcon umzugehen. Die ersten Erfolge sind auch schon da, nur bin ich jetzt auf ein kleines Problem gestoßen:

    Gibt man den Pfad absolut an (z.B.: c:\windows\system32\imageres.dll") wird kein Icon angezeigt. Mache ich das wie im Beispiel mit "\imageres.dll" kommt das Icon. Das wäre ja im Grunde nicht so schlimm, würde nicht die MS ab Windows 10 nicht wo anderen ablegen siehe https://www.deskmodder.de/wiki/index.php…indows_10_Icons

    Und damit die Fehlersuche ja recht lange geraucht hat: Koda kann das schon über die GUI....

    lg

    Racer

  • Zum 1.: Prüf mal ob dein absoluter Pfad wirklich korrekt ist und das gleiche ausgibt wie @SystemDir & "\imageres.dll"

    Zum 2.: Dann machst du halt eine @OS basierte definition des Speicherortes.

    Edit: Gerade mal bei mir den Beispielcode getestet (W10; umgemünzt auf die imageres.dll). Funktioniert einwandfrei.

    Kann es ggf. eher sein, das bei W10 die imageres.dll anders ist und das Icon das du suchst nicht mehr da liegt wo du es erwartest (sprich: die Nummer passt nicht mehr)?

    Edit2: zudem hat die Imageres in dem neuen Ordner auch eine andere Bezeichnung! imageres.dll.mun

    Einmal editiert, zuletzt von Moombas (9. September 2022 um 11:18)

  • Hallo Moombas!

    Danke für Deine schnelle Antwort!

    @SystemDir & "\imageres.dll" funktioniert! Und dann ist es mir wie Schuppen von den Augen gefallen: Wenn man @Systemdir & "c:\windows\system32\imageres.dll" schreibt wird das nie was =O

    Ein klarer Fall "Den Wald vor lauter Bäume nicht sehen" oder "zulange auf den Quellcode gestarrt...." Auf jedenfall Zeit fürs Wochenende!

    lg

    Racer

  • Zum 1.: Prüf mal ob dein absoluter Pfad wirklich korrekt ist und das gleiche ausgibt wie @SystemDir & "\imageres.dll"

    Zum 2.: Dann machst du halt eine @OS basierte definition des Speicherortes.

    Dateien und auch Dll's, die vom System bereitgestellt werden, liegen ja üblicherweise im Suchpfad (%Path%)... dann gebe ich keinen Pfad an und brauche mir somit keine Gedanken darüber zu machen, wo sie tatsächlich liegt, egal ob x86 oder x64.

  • Dateien und auch Dll's, die vom System bereitgestellt werden, liegen ja üblicherweise im Suchpfad (%Path%)... dann gebe ich keinen Pfad an und brauche mir somit keine Gedanken darüber zu machen, wo sie tatsächlich liegt, egal ob x86 oder x64.

    Richtig, ich wollte nur Möglichkeiten aufzeigen (besonders 1.) um den Fehler zu finden bzw. wie man ggf. so etwas handhaben kann, wenn %Path% nicht möglich ist bzw. aus diversen Gründen ein absoluter Pfad verwendet werden soll/muss.

  • Richtig, ich wollte nur Möglichkeiten aufzeigen (besonders 1.) um den Fehler zu finden bzw. wie man ggf. so etwas handhaben kann, wenn %Path% nicht möglich ist bzw. aus diversen Gründen ein absoluter Pfad verwendet werden soll/muss.

    Ja, und genau da habe ich auch den Fehler gefunden! Manchmal muss man halt wieder an die "Basics" erinnert werden... ;)