URLDownloadToFile, http://i.imgur.com/QoIAy4U.jpg, %A_Desktop%\test.jpg
sFile := A_Desktop "\test.jpg"
Bytes := GetPictureData(sFile, Data)
StringBASE64 := Trim(CryptBinaryToStringBASE64(&Data, Bytes), " `n`r")
VarSetCapacity(Data, 0)
Content := CreateCorrectVar(StringBASE64)
Run, notepad.exe,,, PID
WinWait, ahk_pid %PID%
ControlSetText, Edit1, % Content
Return
GetPictureData(sFile, ByRef Data)
{
oFile := FileOpen(sFile, "r")
oFile.Seek(0)
oFile.RawRead(Data, len := oFile.Length)
oFile.Close()
Return len
}
CryptBinaryToStringBASE64(pData, Bytes)
{
static CRYPT_STRING_BASE64 := 1
DllCall("Crypt32.dll\CryptBinaryToString", Ptr, pData, UInt, Bytes, UInt, CRYPT_STRING_BASE64, Ptr, 0, UIntP, Chars)
VarSetCapacity(OutData, Chars * (A_IsUnicode ? 2 : 1))
DllCall("Crypt32.dll\CryptBinaryToString", Ptr, pData, UInt, Bytes, UInt, CRYPT_STRING_BASE64, Str, OutData, UIntP, Chars)
Return OutData
}
CreateCorrectVar(string)
{
Loop
Content .= "Part" . A_Index . " = `r`n(`r`n" . str := SubStr(string, 16000*(A_Index - 1) + 1, 16000) . "`r`n)`r`n`r`n"
, tail .= (A_Index = 1 ? "" : " . ") . "Part" . A_Index
until StrLen(str) < 16000
if StrLen(string) > 16000 ; с запасом
Content .= "StringBASE64 := " . tail
else
Content := Trim(RegExReplace(Content, "^Part1", "StringBASE64"), " `n`r")
Return Content
}
Part1 =
(
/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQ
AABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAA
AAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAA
AGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAA
ABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAA
AIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAA
AAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENv
cHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA
AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2
LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZ
WiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAA
JKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAA
AAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYt
Mi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5J
RUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg
Q29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBW
aWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZ
WiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA
Ao8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAo
AC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCf
AKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEf
ASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ
AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKi
AqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOu
A7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTw
BP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf
CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woR
CicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxD
DFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62
DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt
EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRq
FIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReu
F9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7
G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8T
Hz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4
I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneier
J9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxu
LKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGC
Mbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp
NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTyk
POM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1
QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/d
UCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3
V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5s
Xr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9
ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5r
bsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4
d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/l
gEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokz
iZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLj
k02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3
nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adu
p+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJL
ssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2P
vgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6
ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO
1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM
4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60
70DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH
/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZIAAAAAB/9sAQwAMCAgICQgMCQkMEQsK
CxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwM/9sAQwENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgAEAAwEiAAIRAQMRAf/EABoA
AAMBAQEBAAAAAAAAAAAAAAMEBQIGAQD/xAA/EAACAQMCAwQHBQcDBAMAAAABAgMA
ERIEIQUiMRMyQVEUQlJhYnFyBiOBgpIVkaGissHC0dLiFjPw8oOx8f/EABoBAAMB
AQEBAAAAAAAAAAAAAAIDBAEFAAb/xAA6EQABAwMCAwQIAwcFAAAAAAABAAIRAxIh
MUEEIlETMkJhUmJxgYKRkqFyotIjM7HC0fDxBRSywfL/2gAMAwEAAhEDEQA/AImj
kCxAvs7NeNR5miwsJJM5HCgXeQA38e79T+tU+M4yIZDdVUObdLn1bb002KpHGFxU
rkb9WHNzV0hG+qmKeeZZWaVgeawiU7WAPLSCzNJrlYgsqMxbcAnbu7ey1D1OqJYx
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
WhhmfKPtauZh0+viWd5YmCuBiXXw
)
Part2 =
(
J629nGsan0rUREKpa9lsB4d7wrrZdSrue05X
Bx32O3XresmWIDEWBO5NrUs1gGOaG+9EGm8OnTZcqnBNQrnUTsI1CqACdzsqfprU
XB59Nr4ZQckubMPO1dNJcraRgpNtwK+Romup5h43HS3lUrhM9SqO0lsHRIrApylG
Jd7noL2+LKlNfCUglCiwYA2+R8KrRwRsTgbrc3v5e6tajSxOMGbFLXJ8beG4pTKN
SeYi3ZE2owQOijcNGemG4Xrc++miGFwAGXztVPTaDQkBUF+l97X/AOVYm4ehB7Ny
L9fKwPurp0yAwDoEBqAlR5dfGkyRdWf8AL3A/pqzwsu2TkEx2t4Yi+2VvaakouB6
RdW887B2Byjv3QPiT6qpSyPDE2Jx5Nwtut/aoA52ZJKF7g4QN19LqlQlYQAdj2jA
keK9KO+rjSwZgbWuo3PlUkuskWORUqNwT3rEn+9GzLmQbKOU+O4Hz5q8HpRYjyak
m4FzfoWADXF+VVWhCdYFDHIhiSL7fvNeaeFpAGBNhIxvbck93asyaTVqw5SvU47+
J99YSTlaGjRe+mSSXGFiByn/AFrWogXUpZlzKbchufxoLRugu5YcoNrdTWUkdGZ0
8+vyrJ2KKIMjEJN9PJC99xjup8Kl8e0c0sUZW7u1r79Tf1R7NdXHJFJEUYAyPcN5
D6qBLwsTOrAlQQACVt8PdrwaRBGUZc14IdjGq5X0KYTYvstiEQi9tvGs6rQPqIo1
YWNiGbp71rpDw4ByDzbHfp0P+NfRafTySqtsrbe+9vKiD3zOiWaVK2NVzsOgkijS
RbJibLtjt7Xj+qjLFI8hEaqvgrKfE+1Ia6r9maZ4murcotdjb+FYj4dp0Uq7G6nb
cWFaS4+9Y1rBvov/2Q==
)
StringBASE64 := Part1 . Part2
Bytes := StringBase64ToData(StringBase64, Data)
pToken := GdipStartup()
pBitmap := GetBitmapFromData(&Data, Bytes, hBitmap)
VarSetCapacity(Data, 0)
GdipGetImageDimensions(pBitmap, Width, Height)
SS_BITMAP := 0xE, STM_SETIMAGE := 0x172, IMAGE_BITMAP := 0
Gui, -DPIScale +LastFound
Gui, Margin, 0, 0
Gui, Add, Pic, w%Width% h%Height% +%SS_BITMAP%
PostMessage, STM_SETIMAGE, IMAGE_BITMAP, hBitmap, Static1
Gui, Show
DllCall("gdiplus\GdipDisposeImage", Ptr, pBitmap)
DllCall("DeleteObject", Ptr, hBitmap)
GdipShutdown(pToken)
Return
GuiClose:
GuiEscape:
ExitApp
StringBase64ToData(StringBase64, ByRef OutData)
{
static CRYPT_STRING_BASE64 := 1
DllCall("Crypt32.dll\CryptStringToBinary", Ptr, &StringBase64
, UInt, StrLen(StringBase64), UInt, CRYPT_STRING_BASE64, UInt, 0, UIntP, Bytes, UIntP, 0, UIntP, 0)
VarSetCapacity(OutData, Bytes)
DllCall("Crypt32.dll\CryptStringToBinary", Ptr, &StringBase64
, UInt, StrLen(StringBase64), UInt, CRYPT_STRING_BASE64, Str, OutData, UIntP, Bytes, UIntP, 0, UIntP, 0)
Return Bytes
}
GetBitmapFromData(pData, nSize, ByRef hBitmap)
{
if A_OSVersion not in WIN_XP,WIN_2003,WIN_2000
SHCreateMemStream := "Shlwapi\SHCreateMemStream"
else {
hShlwapi := DllCall("LoadLibrary", Str, "Shlwapi", Ptr)
SHCreateMemStream := DllCall("GetProcAddress", Ptr, hShlwapi, UInt, 12, Ptr)
DllCall("FreeLibrary", Ptr, hShlwapi)
}
pStream := DllCall(SHCreateMemStream, Ptr, pData, UInt, nSize, Ptr)
DllCall("gdiplus\GdipCreateBitmapFromStream", Ptr, pStream, PtrP, pBitmap)
ObjRelease(pStream)
DllCall("gdiplus\GdipCreateHBITMAPFromBitmap", "ptr", pBitmap, "ptr*", hBitmap, "uint", 0xffffffff)
Return pBitmap
}
GdipGetImageDimensions(pBitmap, ByRef Width, ByRef Height)
{
DllCall("gdiplus\GdipGetImageWidth", "ptr", pBitmap, "uint*", Width)
DllCall("gdiplus\GdipGetImageHeight", "ptr", pBitmap, "uint*", Height)
}
GdipStartup()
{
if !DllCall("GetModuleHandle", "str", "gdiplus", "ptr")
DllCall("LoadLibrary", "str", "gdiplus")
VarSetCapacity(si, A_PtrSize = 8 ? 24 : 16, 0), si := Chr(1)
DllCall("gdiplus\GdiplusStartup", "uptr*", pToken, "ptr", &si, "ptr", 0)
return pToken
}
GdipShutdown(pToken)
{
DllCall("gdiplus\GdiplusShutdown", "uptr", pToken)
if hModule := DllCall("GetModuleHandle", "str", "gdiplus", "ptr")
DllCall("FreeLibrary", "ptr", hModule)
return 0
}