仿屏幕录像专家软件开源

易语言 2020-07-21 00:03:32

仿屏幕录像专家软件开源

1、本程序制作出的录像文件为可执行文件(exe)

2、录制后打开即可播放;无需第三方播放器

3、默认按键:F9(继续/暂停) F10(停止并保存)

4、滚轮滚动上下移动;Ctrl+滚轮滚动左右移动

.子程序 _窗口快照, 字节集, 公开, 能对被其他窗口挡住的未最小化窗口进行截图。
.参数 窗口句柄, 整数型, 可空, 要截取的窗口的句柄。为空则捕捉全屏。
.参数 输出宽度, 整数型, 可空, 指定图片的输出宽度。如果小于0,参数值指定的是最终图片输出宽度相对于所取得图片宽度的百分比;如果等于0,则按图片原宽度输出;如果大于0,指定输出图片的绝对宽度。如果本参数被省略,默认值为0。
.参数 输出高度, 整数型, 可空, 指定图片的输出高度。如果小于0,参数值指定的是最终图片输出高度相对于所取得图片高度的百分比(最小为10%);如果等于0,则按图片原高度输出;如果大于0,指定输出图片的绝对高度。如果本参数被省略,默认值为0。
.局部变量 hScrDC, 整数型
.局部变量 hMemDC, 整数型
.局部变量 hScrBitmap, 整数型
.局部变量 hOldScrBitmap, 整数型
.局部变量 数据, 字节集
.局部变量 ret, 整数型
.局部变量 RECT, 矩形_
.局部变量 图像宽, 整数型
.局部变量 图像高, 整数型

.如果真 (IsWindow (窗口句柄) = 假)
返回 ({ })
.如果真结束
GetWindowRect (窗口句柄, RECT)
图像宽 = RECT.右边 - RECT.左边
图像高 = RECT.底边 - RECT.顶边
hScrDC = GetDC (0)
hMemDC = CreateCompatibleDC (hScrDC)
hScrBitmap = CreateCompatibleBitmap (hScrDC, 图像宽, 图像高)
hOldScrBitmap = SelectObject (hMemDC, hScrBitmap)
.如果真 (PrintWindow (窗口句柄, hMemDC, 0))
.如果真 (输出宽度 < 0)
输出宽度 = -(输出宽度 ÷ 100) × 图像宽
.如果真结束
.如果真 (输出高度 < 0)
输出高度 = -(输出高度 ÷ 100) × 图像高
.如果真结束
.如果真 (输出宽度 = 0)
输出宽度 = 图像宽
.如果真结束
.如果真 (输出高度 = 0)
输出高度 = 图像高
.如果真结束
ret = CopyImage (hScrBitmap, 0, 输出宽度, 输出高度, 4)
数据 = _图片句柄取图片 (ret)
.如果真结束
SelectObject (hMemDC, hOldScrBitmap)
ReleaseDC (0, hScrDC)
DeleteDC (hMemDC)
DeleteObject (ret)
DeleteObject (hScrBitmap)
DeleteObject (hOldScrBitmap)