Code: Select all
#SingleInstance, Force
B64Logo := "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"
; GDI+ Startup
hGdip := DllCall("Kernel32.dll\LoadLibrary", "Str", "Gdiplus.dll") ; Load module
VarSetCapacity(GdiplusStartupInput, (A_PtrSize = 8 ? 24 : 16), 0) ; GdiplusStartupInput structure
NumPut(1, GdiplusStartupInput, 0, "UInt") ; GdiplusVersion
VarSetCapacity(pToken, 0)
DllCall("Gdiplus.dll\GdiplusStartup", "PtrP", pToken, "Ptr", &GdiplusStartupInput, "Ptr", 0) ; Initialize GDI+
BMPLogo := GdipCreateFromBase64(B64Logo, 2)
; Free GDI+ module from memory
DllCall("Kernel32.dll\FreeLibrary", "Ptr", hGdip)
Gui, +LastFound -Resize
Gui, Margin, 0, 0
;Gui, Color, FF00FF
Gui, Add, Picture, x0 y0 w517 h78 +BackgroundTrans, % "HBITMAP:*" BMPLogo
Gui, Add, Picture, x20 y20 w517 h78 +BackgroundTrans, % "HBITMAP:*" BMPLogo
Gui, Show, AutoSize, Example
return
GdipCreateFromBase64(B64, RetType := 0) { ; 0=pBitmap, 1=HICON, 2=HBITMAP
VarSetCapacity(B64Len, 0)
DllCall("Crypt32.dll\CryptStringToBinary", "Ptr", &B64, "UInt", StrLen(B64), "UInt", 0x01, "Ptr", 0, "UIntP", B64Len, "Ptr", 0, "Ptr", 0)
VarSetCapacity(B64Dec, B64Len, 0) ; pbBinary size
DllCall("Crypt32.dll\CryptStringToBinary", "Ptr", &B64, "UInt", StrLen(B64), "UInt", 0x01, "Ptr", &B64Dec, "UIntP", B64Len, "Ptr", 0, "Ptr", 0)
pStream := DllCall("Shlwapi.dll\SHCreateMemStream", "Ptr", &B64Dec, "UInt", B64Len, "UPtr")
VarSetCapacity(pBitmap, 0)
DllCall("Gdiplus.dll\GdipCreateBitmapFromStreamICM", "Ptr", pStream, "PtrP", pBitmap)
If (RetType = 2) {
VarSetCapacity(hBitmap, 0)
DllCall("Gdiplus.dll\GdipCreateHBITMAPFromBitmap", "UInt", pBitmap, "UInt*", hBitmap, "Int", 0XFFFFFFFF)
}
If (RetType = 1) {
DllCall("Gdiplus.dll\GdipCreateHICONFromBitmap", "Ptr", pBitmap, "PtrP", hIcon, "UInt", 0)
}
ObjRelease(pStream)
return (RetType = 1 ? hIcon : RetType = 2 ? hBitmap : pBitmap)
}