Bild als Butten benutzen in kompilierter Version

  • Hallo, ich versuche einen Button zu verschönern mit Hilfe eines Bildes. Das Bild integriere ich durch ResHacker in die kompilierte Datei. Wenn ich es aber dann auf den Butten setzen will, kommt einfach nichts^^

    [autoit]

    #AutoIt3Wrapper_Run_After="ResHacker.exe" -add %out%, %out%, chat.bmp, bitmap, chat, 0
    .
    .
    .
    $hGUIButtonChat = GUICtrlCreateButton("Open/Close Chat", 5, 244, 740, 20, 0x0080)
    If @Compiled Then
    $hInstance = _WinAPI_GetModuleHandle("")
    $hBitmapHandle = _WinAPI_LoadBitmap($hInstance, "chat")
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBitmapHandle)
    GUICtrlSetImage($hGUIButtonChat, $hBitmap)
    Else
    GUICtrlSetImage($hGUIButtonChat, @ScriptDir & "\chat.bmp")
    EndIf

    [/autoit]


    Warum get das so noch nicht? Ich habe doch das Bild als Bitmap geladen und versuche es dann in den Button zu setzen... Das Bild ist auf jeden Fall in der exe, das sieht man ja an der Dateigröße.
    Woran kann das liegen?
    Ein Beispielssckript könnte ich auch basteln wenn nötig.

    MfG

  • Ja aber bei FileInstall muss es ja wieder entpackt werden, damit es dann geht, das würde ich gerne vermeiden.

  • Naja ist eigentlich wie FileInstall nur mit einer Datei ( Wenn ichs richtig verstanden hab ), für Bilder kenn ich ne Methode von Funkey, die bleiben dann auch wirklich in der Exe:

    https://autoit.de/index.php?page…2910#post102910

    Gibt auch diese UDFs aus dem Englischem Forum, hab die aber noch nicht ausprobiert:

    http://www.autoitscript.com/forum/index.php?showtopic=51103

  • Mein Problem ist ja nicht das includen, das geht wunderbar, habe auch Zugriff, aber GUICtrlSetImage funktioniert nicht mit einem Bitmaphandle, Daran scheiter ich im Moment. Zwischenzeitig gelöst habe ich das, indem das Bitmap im Tempordner gespeichert wird und dann per GUICtrlSetImage geladen wird, aber das ist nicht die beste Lösung, ist ja praktisch wie FileInstall.

  • Hm, ich glaube dafür lohnt sich der Aufwand auch nicht, da die jetzige Geschichte ja auch geht...
    Müsste schon eine einfachere Methode sein =)