窗口程序集名 | 保 留 | 保 留 | 备 注 |
后台截图程序集 | | | |
变量名 | 类 型 | 数组 | 备 注 |
hWnd | 整数型 ' 目标窗口句柄 | |
hThumb | 整数型 ' DWM 缩略图句柄 | |
pThumbProps | DWM_THUMBNAIL_PROPERTIES ' 缩略图属性 | |
hWnd =
取窗口句柄 (“Notepad”,
“无标题 - 记事本”)
如果 (hWnd = 0
)
信息框 (“未找到目标窗口!”, 0, ,
)
返回 (0
)
Gdip初始化 ()

如果 (DwmRegisterThumbnail (hWnd,
取桌面窗口句柄 (), hThumb
) ≠ 0
)
信息框 (“DwmRegisterThumbnail 失败!”, 0, ,
)
返回 (0
)



pThumbProps.dwFlags :=
#DWM_TNP_RECTDESTINATION |
#DWM_TNP_VISIBLE |
#DWM_TNP_OPACITY 

pThumbProps.opacity := 255


pThumbProps.fVisible :=
真 

pThumbProps.rcDestination.左边 := 0


pThumbProps.rcDestination.顶边 := 0


pThumbProps.rcDestination.右边 := 800


pThumbProps.rcDestination.底边 := 600




DwmUpdateThumbnailProperties (hThumb, pThumbProps
)




截图结果 =
截图缩略图并保存 (“C:\thumb.png”)

如果 (截图结果
)

信息框 (“截图成功!保存到 C:\thumb.png”, 0, ,
)


信息框 (“截图失败!”, 0, ,
)



DwmUnregisterThumbnail (hThumb
)
Gdip关闭 ()返回 (0)变量名 | 类 型 | 静态 | 数组 | 备 注 |
hdcScreen | 整数型 | | |
hdcMem | 整数型 | | |
hBitmap | 整数型 | | |
oldBmp | 整数型 | | |
rect | RECT | | |
width | 整数型 | | |
height | 整数型 | | |
pBitmap | 整数型 | | |
pGraphics | 整数型 | | |
取窗口矩形 (hWnd, rect
)width := rect.右边 - rect.左边
height := rect.底边 - rect.顶边
hdcScreen =
取设备场景 (0
)hdcMem =
创建兼容设备场景 (hdcScreen
)hBitmap =
创建兼容位图 (hdcScreen, width, height
)oldBmp =
选择对象 (hdcMem, hBitmap
) BitBlt (hdcMem, 0, 0, width, height, hdcScreen, 0, 0,
#SRCCOPY ) GdipCreateBitmapFromHBITMAP (hBitmap, 0, pBitmap
)GdipCreateFromHDC (hdcMem, pGraphics
)GdipSaveImageToFile (pBitmap, 保存路径,
“image/png”, 0
) GdipDisposeImage (pBitmap
)GdipDeleteGraphics (pGraphics
)删除对象 (hBitmap
)删除设备场景 (hdcMem
)删除设备场景 (hdcScreen
)返回 (真)|
DWM_THUMBNAIL_PROPERTIES | |
|
dwFlags | 整数型 | | |
rcDestination | RECT | | |
rcSource | RECT | | |
opacity | 字节型 | | |
fVisible | 逻辑型 | | |
fSourceClientAreaOnly | 逻辑型 | | |
|
RECT | |
|
左边 | 整数型 | | |
顶边 | 整数型 | | |
右边 | 整数型 | | |
底边 | 整数型 | | |