Sign in to follow this  
Followers 0
jcpetu

Icon created from Memory

3 posts in this topic

Hi people,

I was wondering if some of you could help me to créate an icon from memory. So far I got this:

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstantsEx.au3>
#include <Memory.au3>
#include <Misc.au3>
#include <WinAPIRes.au3>
#include <WindowsConstants.au3>
;---------------------------------------------------------------------------
Global $CursorFromMemory= Load_BMP_From_Mem(CursorAni(), True)
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($CursorFromMemory)
Global $g_hCursor  =  _WinAPI_LoadImage(0, $hBitmap , $IMAGE_CURSOR, 0, 0, $LR_DEFAULTCOLOR)

OnAutoItExitRegister('OnAutoItExit')

Global $g_hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 400)

GUIRegisterMsg($WM_SETCURSOR, 'WM_SETCURSOR')
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func WM_SETCURSOR($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg, $wParam, $lParam
    If $hWnd = $g_hForm And $g_hCursor Then
        Return _WinAPI_SetCursor($g_hCursor)
    EndIf
EndFunc   ;==>WM_SETCURSOR

Func CursorAni()
    Local $Base64String = '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '4U8BYRCQCAAIugYAVAbTZFO3YACRYREuQAAupYAAemAHTgVsKE1gCXj/JAAkPWEQsuEU5FNhMOmvDwQAAAQfRABEW1eAAFWFJgAmWeQ1QkbhHiAAIJvhU4BUAHdkAHJhQ/lgA8oBYACoWABU2oEAVmRqD2cQYWAgU+EPun/kGeF34XAJAGEQZZzhSxlB5EozEwATaOMqWB1oCljiEGAh4XTBbAAgY+6BAF70D1v/0HQAaf7gBKlkheFkP+FeEQDhMWGSYQDhEShaCABXqXEbgABl/wg3ADbhGsRMAEowzoAAavIPYTpPAPRM6OAEh+SF4RrpvxUAAWJjcgBp04EAWhHyGlwAVGEwrBQAoBSMgAB7YAJZbAQCV+APe/8XABegP+RXYaRhLOXjGQBiY2IABF+Z8x9m/z8APgraMAKE8TFDAEN4RzEosSuxAYAAb7IHOfgAOKI0SLFQsR21Lw8Awb8YDyIAIjexHvsfwlnyHwoACoz0TrEFACUhACE5VgBWAIFiAGGqTwBP/pJwVTEPsUIxL7EHcR+5hwcPAAsAcRoVPgA+TBB/AHL+9S9+AHH+/HAJcUkxcvEssQWxVTFm/7EAcU61WfEAcQGxBL8HDwAXPRDxErFjIrAwOhEA/hGxTvFcMWcxBrEB9Xz1Kw/1lnEA/ZYGAP/AP/8I/4AfMAAYP/+ApBAPwA0P4LAKgDYAECAPgAhwAAgAHwSACOEBA4GAAAF6ATQAAHEAfAf5ADACAHQBwDAA8DAAADgxAAMLMQBAMwcwAB9pY28kbr4RegACAAMgIPFhEg8AqBABopgwACAB9+Ib0AESC4DSAg8ADwAPAP9UCRER0RLRPTEA1YAfEg8Avw8ADwAPANsk0TdRcyU0AP+xAFENH0EPAA8ADwAPAJhm+xSmUYJLNACxAFEksQE/EP8PAA8ADwAPANMhEYyROlFz/5F0MQCxAJEssQFVSXEA8RB/0TpVx5XDDwAPAA8AMx4YMDUAMVURaTEAHAD6GpGzYDQQUTr1BbEG8RD/MQmRaHEAVbMPAA8AWWRVMUHxBxVxAF6w0YWBgABM/2IAU8P/D++yAjEPITARlyf0GfEAmZP/DwDXxvEk8QIxDXEFsQxyARBFAEBD9Q8pACcHkYX9H3UiHEIAPUr/tAnRU3EqMRD/BzcP8QnxEv8RmRFKVZpxLnUI/y/7L3EEIAxsAFprEaFnAP5SUXMxEJXF/wf3HTEGkbr9EWFylNkRh1GMsQZVWP8/AXsFCUkAQSZ5AMBZqEAANzu0B5XlB/8H13rRXkkoACeWUFQAS9ZQnbTUzGb/lKuRWvkDlVo1ALkiVeNxBw9xAJXDDwCXvCRXAE6qmvMdUtBaaxFysHAB/nUUxDEhNS41BjEV8Rc1IgM1Bj4sK7UKABsABwAYIX4AZyD4ggBL/wEMgQBAVP9KAEPLAFxsVQAMOQAMEwAGAQReCdUABhIABhsABiIEDgEeCwEuMQAGAAMYbQBgMKqBAFYAewF/Zf9QHAAbhwAXUQADKl0AAw8EJwFjAW8uAAM/vQADSQQHAQ8BFwEfBBRnC4VfDQADgAENFQAVACRqAF+gewBmoOtJAESCgAlFhCsaFoABCoh7gQlIxgDUxv+AA22AAV6BB4QL/4WDgSmJO4EBgQmFBQ0AgVnWDYGDhKkkgAEfhLuBJ7eBfYEPgXE9gTmEP4uAAf55hEGBC4EPgROJgYU9wQSrxSDRHwzAABXAABzAAOoewAAZwAAQxB/BiMEC68EmwVxtxB+fxCDBQcEF/8EHwQnFH8kewTDRIMEDwR5VwS4twAA6xHQ3wAAnO8QkwTQPwRzVANk/fQDgWk1AADrBMNE/xZRVwRtbwAB1wAB8wABv/8SfwXXBZcEV3X/FKsVMwQBfzT3JH8ECwbbBDlvAoJ6AKAAozQYABsHeqrXAAIXAAE7AACXECffGv8Qfxb8wxF7BKcFuwY8/wQzF5+U46VLlD2EWPWVAAFrOgABqYG9gAP+A'
    $Base64String &= 'AHD/IQAgqu/gAq9gAGdgADHkGr/mf+QP4QvhRWEM4VUrYAD6QmAAVGQp4QDhAeEC4WgDYQftHxYyADJdgKwAaWKP449MYBBv4Qv6u2AAcGQz5XBhMGEBYR1XYQBhAWEPNGAAV2AAflVgAJxgAKjkAH9gAFgPZBhhBeEx6Q8TVgBVMHqBAF3mD2EAgABAbf8CAAKt4ANqrWRLKORR4QgzZBoh5C0B4S9VDQANlD0AADzbVgBR9zYAQDb8CwAL7OACxD1gAI7hA2QI4ShpIA0wwAAwPYAAbmKf4x96UOAPbuEf4ZBhF2GRRl9kAeERYQBhAWE/NuFALUAALZSAAHngBmkV4Adf4ABoYAB5/x/UAB/hCMBgAHjkGOE9g+lAYVQYXgBXeWEuCIAAa2IPHAAcdl/kN2Fb4QDhYuEpuGAAtxVgAJpgAHJgAFoIAKAIaoAAeOAOWGooQ+G5YRAHAAfl4ASRPWAATORF7aPhQuESJRk4ABk8ZBrlLOFHakcYAETN4VJhADcANTVhGtxgAKXhPeBHmoAMAHFqD+c4bv8nAPQn8+AEmeR54TVtxGEQP+FC4UvhbOFlYQDhSkNpqABg1+MqUGAAUWAKoGr/VQBOYRDMYABglEEAQa3hJvMPaPngFTfp5KRhKWFl7XD11QAWIAAgUoAAcgdmQ+Mq4Qpz/wkACQLdYASXJAAki4BMAHdqBOcEdP/gA8EftEpxNLl8DwC8QU4ATjBygABnfw1wDSYABCbWNEpedQBr3KUzEkw4PGf/cAH19FQf9WExFg8ADwABAA8pAAwpPrEO/w9z/wwACgzxH2RxMBgAGD+AcgBryIAAe7ABAnIwAHr/bwBn4fgSABLxQ3EXsTexQ/+Bgw8AuWEccgBpwLNRQlH2H2AAWNo0FUABuFcfGgAaOUAAwEBjFwAXTfQ5cSx/cSTxJDEmvxcPALqJcUZhAABdkH8Ab/1+gABv/FEATqe0Tv+xMjFIMStxPPEKsQAxHrFO/zE1dWM/Jw8ADwC3gfGA8U//sU4xALEAMQGxAT8Vfw4OAJD/wD//MgCAHzAANBAfMQDw8ArASg+ABAAgMAAwD4AMAAAfgAgIP4AIDwFwFwPvgAABg8AVMwABsQCAcw0HAAifcgAydjABNgCwBAH+MwAOAwA7NQDABB7/'
    $Base64String = WinAPI_Base64Decode($Base64String)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($Base64String) & ']')
    DllStructSetData($tSource, 1, $Base64String)
    Local $tDecompress
    WinAPI_LZNTDecompress($tSource, $tDecompress, 60184)
    $tSource = 0
    Return Binary(DllStructGetData($tDecompress, 1))
EndFunc   ;==>_Base64String


Func Load_BMP_From_Mem($bImage, $hHBITMAP = False) ;From UEZ
    If Not IsBinary($bImage) Then Return
    Local $declared = True
    If Not $__g_hGDIPDll Then
        _GDIPlus_Startup()
        $declared = False
    EndIf
    Local Const $memBitmap = Binary($bImage) ;load image  saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory  ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count  associated with a memory object that was allocated with GMEM_MOVEABLE
    Local $hStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)
    $hStream = $hStream[3]
    Local $hBitmap = DllCall($__g_hGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    $hBitmap = $hBitmap[2]
    Local Const $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    If $hHBITMAP Then
        Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
        _GDIPlus_BitmapDispose($hBitmap)
        If Not $declared Then _GDIPlus_Shutdown()
        Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
EndFunc   ;==>Load_BMP_From_Mem

Func WinAPI_Base64Decode($sB64String);From UEZ
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>WinAPI_Base64Decode

Func WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize = 0x800000);From UEZ
    Local $tBuffer, $Ret
    $tOutput = 0
    $tBuffer = DllStructCreate('byte[' & $iBufferSize & ']')
    If @error Then Return SetError(1, 0, 0)
    $Ret = DllCall('ntdll.dll', 'uint', 'RtlDecompressBuffer', 'ushort', 0x0002, 'ptr', DllStructGetPtr($tBuffer), 'ulong', $iBufferSize, 'ptr', DllStructGetPtr($tInput), 'ulong', DllStructGetSize($tInput), 'ulong*', 0)
    If @error Then Return SetError(2, 0, 0)
    If $Ret[0] Then Return SetError(3, $Ret[0], 0)
    $tOutput = DllStructCreate('byte[' & $Ret[6] & ']')
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6]) Then
        $tOutput = 0
        Return SetError(4, 0, 0)
    EndIf
    Return $Ret[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func OnAutoItExit()
    _WinAPI_DestroyCursor($g_hCursor)
EndFunc   ;==>OnAutoItExit

Thanks in advance and regards.

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Try this:

#include <GUIConstantsEx.au3>
#include <WinAPIRes.au3>
#include <WindowsConstants.au3>

Global $bData = _Anim_Cursor()
Global Const $iSize = BinaryLen($bData)
Global $tMem = DllStructCreate("byte data[" & $iSize & "]")
$tMem.data = $bData
$pMem = DllStructGetPtr($tMem)
$bData = 0
Global $g_hCursor = _WinAPI_CreateIconFromResourceEx($pMem, $iSize)

Global $g_hForm = GUICreate("Load animated cursor (.ani) from memory", 400, 400)
GUISetState(@SW_SHOW)

OnAutoItExitRegister("OnAutoItExit")
GUIRegisterMsg($WM_SETCURSOR, "WM_SETCURSOR")


Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func OnAutoItExit()
    _WinAPI_DestroyCursor($g_hCursor)
EndFunc   ;==>OnAutoItExit

Func WM_SETCURSOR($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg, $wParam, $lParam
    If $hWnd = $g_hForm And $g_hCursor Then
        Return _WinAPI_SetCursor($g_hCursor)
    EndIf
EndFunc   ;==>WM_SETCURSOR

;Code below was generated by: "File to Base64 String" Code Generator v1.20 Build 2015-09-19

Func _Anim_Cursor($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $Anim_Cursor
    $Anim_Cursor &= "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"
    $Anim_Cursor &= "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"
    $Anim_Cursor &= "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"
    $Anim_Cursor &= "/A9wMNQDgFEvP/Ff8NAvUTBR8mDBwA4TMPxaMJqyAv8MAGljb27+AgIAAAACAAEAICCoAAAQAAToAEQWAEwmKAAMAEgAQAAMAQCyBAGYAIACWgMAEAQGxQMAvwIEAL+/AwwBAgEAEMDAwACAgIDFACL/AgQA//8DBgEB1wESAQSPAIiEAwiSA4UGv4IEARWBb4UHhgWKFAcDAxkFDoAIBAUGCAEAAA5wAQQCAgADERCAARAREREQhAcAERBpAQcRmQQnCQEGAACQAYMPeAmZkRmZmegRGREFOJmAFAAKhgdsiIiAFIAaB0gvAQQIYngJLHCZEEAIBgAHMHcAkRmHeAAEeAk+mEtKijszAE2lEQD8/wD+/+7//vvm/wD+8/N//uf7PwD+7/yP/J/8B0D8H/8DAB9AkR+g/4AAH/DAAPzBAoHBAMHgDv//+MAXAvzAAPgB///+A/2AEsd/wX/Bf8E/AB8Ay1h/B0fCY+hIhEDFAClMj0QIigdrRggmCYgBEEEDwhHGKQERCHCBYAYGPaNgGWYHg2DmAQFemZnMmZEGCKFgAJkHCkERDIgBoWJnFAeACRFUF4hoEgegYAGoYHf8cADnaKRg5HC/YB8Av2ABBgD7/++f6//vAD/l/+9/9P/mBH/yYAD7P+D/+KAf4P/8B0JJf6BghH/9YAD4gAA/IGEAP//BwB7//+D7IWBgAPC/YL9gv2C/YL9g/x8AHwAfAB8ArGBHPSMBRcX8AAjiAW5fbUMFuu0CCE6ZYQgBAEVOoGIIgMFcv6dev2BAwatggMOoYHAAZ/cxLcYLUjAI5wCzYPoJUTD7OQtQMJCfDg8ADwAPAF8wAw8ACACfv/f/33+g8//ef+NQYfEwAEDw/+T/+n+QMA9sAH9QL1Iw+zAA8GA/avhTMBxTMPwQMLJgBwWABM+dBQ=="
    $Anim_Cursor = _WinAPI_Base64Decode($Anim_Cursor)
    If @error Then Return SetError(1, 0, 0)
    Local $tSource = DllStructCreate("byte[" & BinaryLen($Anim_Cursor) & "]")
    DllStructSetData($tSource, 1, $Anim_Cursor)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 18722)
    If @error Then Return SetError(3, 0, 0)
    $tSource = 0
    Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    If $bSaveBinary Then
        Local Const $hFile = FileOpen($sSavePath & "\horse.ani", 18)
        If @error Then Return SetError(2, 0, $bString)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return $bString
EndFunc   ;==>_Anim_Cursor

Func _WinAPI_Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_WinAPI_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    $tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    If @error Then Return SetError(1, 0, 0)
    Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    If @error Then Return SetError(2, 0, 0)
    If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    Return $aRet[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

 

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Uez, THANKS a LOT. It is perfect.

You are the GDI WIZARD!!!!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0