ChooseIconDialog

  • Hallo liebe AutoIter,

    hiermit möchte ich kurz meine kleine ChooseIconDialog UDF vorstellen.
    Mit der Funktion _ChooseIcon kann man ganz leicht ein Dialogfenster erzeugen, mit welchem man den Benutzer Icons aus dll-oder exe-Dateien auswählen lassen kann.
    Als Rückgabewert erhält man die Indicies der ausgewählten Icon(s). Mit verschiedenen Parametern kann man das Dialogfenster anpassen (Funktioniert im Prinzip wie der FileOpenDialog, nur für Icons).

    Ich wünsche euch noch einen schönen Karfreitag und über Antworten würde ich mit wie immer freuen.

    Lg NO1 :)


    Download:

    Normale Version: _ChooseIcon.zip
    Version mit ► als Trennzeichen des Dateipfads in der Pfadleiste des Dialogs (wenn die Unicode.txt gelöscht wird, fungiert "\" als Trennzeichen): _ChooseIcon.zip


    Die beiden Versionen unterscheiden sich nur im Layout, nicht in der Funktionalität.

    3 Mal editiert, zuletzt von NO1 :-) (15. April 2017 um 10:07)

  • Nette Idee, aber funktioniert leider nicht richtig. z.b Bei shell32.dll werden nur die Icons bis ID 327 angezeigt. Danach kommen aber noch einige mehr und geht aktuell bis ID 63011.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • z.b Bei shell32.dll werden nur die Icons bis ID 327 angezeigt.

    Die shell32.dll hat bei mir (Win 10) 327 Icon groups und insgesamt 2417 Icons!

    @NO1 :-) findet mit seiner Vorgehensweise von jeder Icon group ergo nur das erste Icon. :D Wirklich alle Icons findest du mit den _WinAPI_*Resource* - Funktionen - die ich auch (s. weiter unten) in meinem Tool verwende. In der AutoIt-Hilfe gibt es ein paar Beispiele dazu - z. B. bei: _WinAPI_BeginUpdateResource.

    Ich wollte bereits vorgestern einen Kommentar zu deinem Tool schreiben, habe mir dann aber gedacht, dass ich - besser als einen langen Roman zu schreiben - dein Tool meinem Wissenstand entsprechend korrigiere/optimiere, da du so viel mehr davon hast. Morgen werde ich es wohl fertig haben... denn heute richte ich erst mal meinen neuer Mini-Server ein... das hat Vorrang. :)

    Ich bin seit ein paar Tagen nebenher damit zugange ein Tool zu schreiben, dass alle Icons aus *.exe, *.dll, *.ico, *.icl und auch assoziierende, z. B. *.au3, anzeigen und diese dann auch in beliebigen Formaten (*.ico, *.icl, *.png, *.gif, *.bmp, *.jpg, ...) extrahieren kann. Schiebe es die Tage dann hier hoch... zuerst aber muss ich hier noch einen anderen User beglücken, der schon etwas länger auf sein Tool von mir wartet. :saint:

  • Die shell32.dll hat bei mir (Win 10) 327 Icon groups und insgesamt 2417 Icons!

    Dann hast du wohl sehr viel weiße Icons und solltest dein Windows wohl neu installieren

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Dann hast du wohl sehr viel weiße Icons und solltest dein Windows wohl neu installieren

    Die shell32.dll hat 327 Icon groups. In den meisten Icon groups befinden sich ca. 7-9 Icons (in einigen auch deutlich mehr oder weniger) in unterschiedlicher Größe, die sich teils auch im Aussehen unterscheiden.

    Rechnen wir mal:
    327 * 7 = 2289
    327 * 8 = 2616


    Das kannst du mit dem Resource Hacker leicht selbst überprüfen.

    Hier als Bsp. ein Bild mit den Icons, die in der explorer.exe zu finden sind: https://autoit.de/index.php/Attachment/84410-ExtractIcon-png

  • Die shell32.dll hat 327 Icon groups. In den meisten Icon groups befinden sich ca. 7-9 Icons (in einigen auch deutlich mehr oder weniger) in unterschiedlicher Größe, die sich teils auch im Aussehen unterscheiden.
    Rechnen wir mal:
    327 * 7 = 2289
    327 * 8 = 2616


    Das kannst du mit dem Resource Hacker leicht selbst überprüfen.

    Hier als Bsp. ein Bild mit den Icons, die in der explorer.exe zu finden sind: https://autoit.de/index.php/Attachment/84410-ExtractIcon-png

    Ich hab meinen Fehler gefunden. Dachte er zeigt in der Liste die ID der Icons an und dabei ist es einfach nur eine fortlaufende Nummer. Und als ich das mit meinem Script verglichen hatte hat das natürlich hinten und vorne nicht hingehauen. Passt also doch alles.iconlist.png

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.