Тема: AHK: Вставка изображения из буфера обмена в Gui
Как?))
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как?))
Нашел код teadrinker-a , спасибо тебе что ты есть)
DetectHiddenWindows, On
Send, {PRINTSCREEN}
FileAppend,, %A_ScriptDir%\PrScr.bmp
Run, mspaint %A_ScriptDir%\PrScr.bmp,, Hide
WinWait, PrScr.bmp - Paint
PostMessage, 0x111, 57637, 0, , PrScr.bmp - Paint
PostMessage, 0x111, 57603, 0, , PrScr.bmp - Paint
PostMessage, 0x111, 57665, 0, , PrScr.bmp - Paint
WinWaitClose, PrScr.bmp - Paint
gui,add,pic,x0 y0,%A_ScriptDir%\PrScr.bmp
FileDelete,%A_ScriptDir%\PrScr.bmp
gui,show
return
GuiClose:
GuiEscape:
ExitApp
#SingleInstance Force
#NoEnv
Gui, Margin, 0, 0
Gui, Add, Pic, x0 y0 vPic
Gosub, PicView
1::
PicView:
if !hBitmap := hBitmapFromClipboard(Width)
Return
GuiControl, , Pic, % "*w" Width " *h-1 HBITMAP:*" hBitmap
Gui, Show, AutoSize
GuiControl, +Redraw, Pic
Return
hBitmapFromClipboard(Byref Width) {
Static Ptr := A_PtrSize = 8 ? "UPtr" : "UInt"
if !DllCall("OpenClipboard", Ptr, 0)
Return 0
if !DllCall("IsClipboardFormatAvailable", "UInt", 8)
Return 0, DllCall("CloseClipboard")
if !hBitmap := DllCall("GetClipboardData", "UInt", 2, Ptr)
Return 0, DllCall("CloseClipboard")
DllCall("CloseClipboard")
DllCall("gdiplus\GdipCreateBitmapFromHBITMAP", Ptr, hBitmap, Ptr, 0, Ptr "*", pBitmap)
DllCall("DeleteObject", Ptr, hBitmap)
DllCall("gdiplus\GdipGetImageWidth", Ptr, pBitmap, "UInt*", Width)
DllCall("gdiplus\GdipDisposeImageAttributes", Ptr, pBitmap)
Return hBitmap
}
GuiClose:
GuiEscape:
ExitApp
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться