增强型特殊快照模块源码

资源介绍:

增强型特殊快照模块源码例程程序调用API函数实现特殊快照效果。

点评:易语言增强型特殊快照模块源码可以截取dx游戏窗口和透明窗口。

资源作者:

易语言我吃了

资源界面:

.版本 2 .子程序 快照_特殊增强, 字节集, 公开, 能将Dx游戏窗口或者透明窗口的图像截取出来。※注:GIF输出最快,BMP最慢但质量最好,PNG较快质量也较好。 .参数 输出格式, 整数型, 可空, 1.BMP;2.JPG;3.GIF;4.TIFF;5.PNG,留空默认为BMP。 .参数 窗口句柄, 整数型, 可空 .参数 输出宽度, 整数型, 可空 .参数 输出高度, 整数型, 可空 .局部变量 n, 整数型 .局部变量 TempFormat, 整数型 .局部变量 Value, 整数型 .局部变量 TempGlobal_1, 整数型 .局部变量 TempGlobal_2, 整数型 .局部变量 Format, 整数型, , "0" .局部变量 hGlobal, 整数型, , "0" .局部变量 hThread, 整数型 .局部变量 hBitmap, 整数型 .局部变量 hScrDC, 整数型 .局部变量 hScrMemDC, 整数型 .局部变量 hWinBitmap, 整数型 .局部变量 hWinDC, 整数型 .局部变量 hWinMemDC, 整数型 .局部变量 RECT, 整数型, , "4" .局部变量 Width, 整数型 .局部变量 Height, 整数型 .局部变量 DataStream, 对象 .局部变量 pStream, 整数型 .局部变量 Bitmap, 整数型 .局部变量 hMemData, 整数型 .局部变量 Data, 字节集 .如果真 (OpenClipboard (0) = 0 或 是否为空 (窗口句柄) = 假 且 IsWindow (窗口句柄) = 0) 返回 ({ }) .如果真结束 TempFormat = EnumClipboardFormats (0) .判断循环首 (TempFormat ≠ 0) 加入成员 (Format, TempFormat) TempGlobal_1 = GetClipboardData (TempFormat) Value = GlobalSize (TempGlobal_1) TempGlobal_2 = GlobalAlloc (8194, Value) CopyMemory1 (GlobalLock (TempGlobal_2), GlobalLock (TempGlobal_1), Value) GlobalUnlock (TempGlobal_1) GlobalUnlock (TempGlobal_2) 加入成员 (hGlobal, TempGlobal_2) ' 本源码来自三叶资源网(www.sanye.cx) DeleteObject (TempGlobal_1) TempFormat = EnumClipboardFormats (TempFormat) .判断循环尾 () EmptyClipboard () CloseClipboard () keybd_event (44, 0, 0, 0) keybd_event (44, 0, 2, 0) 处理事件 () OpenClipboard (0) Value = GetClipboardData (2) .如果真 (Value = 0) CloseClipboard () keybd_event (17, 0, 0, 0) keybd_event (18, 0, 0, 0) keybd_event (107, 0, 0, 0) keybd_event (107, 0, 2, 0) keybd_event (17, 0, 2, 0) keybd_event (18, 0, 2, 0) 处理事件 () OpenClipboard (0) Value = GetClipboardData (2) .如果真结束 ' 本源码来自三叶资源网(www.sanye.cx) .如果真 (是否为空 (窗口句柄) = 假) GetWindowRect (窗口句柄, RECT) hScrDC = GetDC (0) hScrMemDC = CreateCompatibleDC (hScrDC) DeleteObject (SelectObject (hScrMemDC, Value)) hWinDC = GetDC (窗口句柄) hWinMemDC = CreateCompatibleDC (hWinDC) Width = RECT [3] - RECT [1] Height = RECT [4] - RECT [2] hWinBitmap = CreateCompatibleBitmap (hWinDC, Width, Height) DeleteObject (SelectObject (hWinMemDC, hWinBitmap)) BitBlt (hWinMemDC, 0, 0, Width, Height, hScrMemDC, RECT [1] - 1, RECT [2] - 1, 13369376) ' 本源码来自三叶资源网(www.sanye.cx) ReleaseDC (0, hScrDC) ReleaseDC (0, hWinDC) DeleteDC (hScrMemDC) DeleteDC (hWinMemDC) DeleteObject (Value) Value = hWinBitmap .如果真结束 .如果 (是否为空 (输出高度) = 假 且 是否为空 (输出宽度) = 假) hBitmap = CopyImage (Value, 0, 输出宽度, 输出高度, 4) DeleteObject (Value) .否则 hBitmap = Value .如果结束 GdipCreateBitmapFromHBITMAP (hBitmap, 0, Bitmap) CreateStreamOnHGlobal (0, 真, DataStream) CopyMemory2 (pStream, DataStream, 4) .如果真 (输出格式 < 1 或 输出格式 > 5) 输出格式 = 1 .如果真结束 GdipSaveImageToStream (Bitmap, pStream, 多项选择 (输出格式, { 0 }, { 1 }, { 2 }, { 5 }, { 6 }) + { 244, 124, 85, 4, 26, 211, 17, 154, 115, 0, 0, 248, 30, 243, 46 }, 0) GetHGlobalFromStream (pStream, hMemData) Data = 指针到字节集 (GlobalLock (hMemData), GlobalSize (hMemData)) GlobalUnlock (hMemData) GdipDisposeImage (Bitmap) GlobalFree (hMemData) DeleteObject (hBitmap) EmptyClipboard () .计次循环首 (取数组成员数 (Format), n) SetClipboardData (Format [n], hGlobal [n]) GlobalFree (hGlobal [n]) .计次循环尾 () CloseClipboard () ' 本源码来自三叶资源网(www.sanye.cx) 返回 (Data)

资源下载:

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注