Lesen der Manifest durch Autoit bei Autoit PE

  • Hallo,

    Ich erfragte vor einiger zeit schon wie ich wohl an ein Manifest Update herangehen sollte, das thema blieb unbeantwortet da ich mich unprofessionel verhielt und wenig selbst dazu beifügte wie ich das ganze angehen würde. Ehe ich diesen Thread erneut hervorhole und/oder darauf hingewiesern werde möchte ich sagen das ich gut dabei bin herauszufinden wie ich das ganze anzustellen habe und dem leser auch ersparen möchte was ich für eine unprofessionelle frage dort präsentierte.


    Zum thema.

    Ich versuche, einfach weil ich freizeit habe, herauszufinden wie ich per Autoit die manifest von Autoit Exen verändere und bin dabei auch schon weit gekommen (hat mich nur 2h lehrreiche sucherei Und probierei eingebracht). Ich habe es geschafft bisher von einer exe die icons zu löschen und bin dann bei einer Do schleife auf ein hindernis gestoßen bei dem ich weiß das autoit vorher die manifest als solches lesen muss.

    Genauer: Ich nutze _

    AutoIt
    Local $nCount = 0
    Do
        $nCount += 1
         $UpdateResource = _WinAPI_UpdateResource($h_BeginnUpdate, $RT_ICON, $nCount, $nMakeLangID, 0, 0)
    Until $UpdateResource = 0 ;lese vorher wieviele icons es gibt

    und sobald die WinApi_UpdateRe.. function eine 0 returned soll die schleife beendet werden da autoit ja nicht weiß wieviele icons es gibt. Das problem ist das sobald auch nur eine 0 auftaucht, kann _WinAPI_EndUpdateResource nicht mehr ausgeführt werden. Also sollten z.b. 12 icons existieren und ich lasse Until $nCount = 12 laufen dann funktioniert das script tadelos sollte ich allerdings Until $nCount = 13 laufen lassen returned _EndUpda.. .daraufhin eine 0 was bedeutet das ich autoit vorher herausfinden lassen muss wieviele icons es gibt.


    Daraufhin begab ich mich erneut auf die suche und versuchte vergeblich herauszufinden wie ich autoit die manifest lesen lassen kann.

    Ich fand natürlich auf MSDN "GetManifestResourceStream"

    https://msdn.microsoft.com/en-…ang=csharp#code-snippet-1

    Weiß aber nicht wie ich damit arbeiten soll, ich denke das hat etwas mit DLLCALL zutun, bin aber mit DLL's so überhaupt nicht vertraut.


    Daher die frage, wie lasse ich autoit die Manifest lesen, das würde mir auch helfen den "language identifier" herauszufinden den ich bisher nur per ResHacker auslesen konnte.


    Das Script.