易语言屏幕录像算法源码
系统结构:截图8位,截图16位及以上,取空白字节集_,字节集差异,截图,鼠标按键被触发,记录鼠标按键,录像操作,录像线程,记录帧,复制位图信息_,复制位图信息_2,复制位图头_,选入设备场景_,删除对象_,复制位图_,复制二进制位图_,删除设备场景_,释放设备场景_,HeapAlloc,GetProcessHeap,画图标_,取得图标信息_,取鼠标信息,取设备场景_,创建内存场景_,创建设备位图_,置伸缩模式_,取窗口全部设备场景_,取屏幕句柄_,鼠标双击时间_,取鼠标位置_,测试虚拟键_,复制场景位图_,取位图二进制位_,MessageBox,NewWndProc,开始播放,播放线程,字节集差异,播放帧,处理左显示,处理顶显示,打开二进制文件,取文件字节集,偏移文件读写位置,取文件偏移位置,关闭打开的文件,创建窗口_,取客户区矩形_,异步显示窗口_,解释消息_,分派消息_,获取消息_,PostQuitMessage,DestroyWindow,SendMessage,载入图标_,GetModuleHandle,MessageBox,设置窗口标题_,改变窗口_,取窗口矩形_,发送消息_,打开二进制文件_,读入数据_,关闭内核对象_,设置当前读写位置_,
======程序集1
| |
| |------ 截图8位
| |
| |------ 截图16位及以上
| |
| |------ 取空白字节集_
| |
| |------ 字节集差异
| |
| |------ 截图
| |
| |
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ 鼠标按键被触发
| |
| |------ 记录鼠标按键
| |
| |------ 录像操作
| |
| |------ 录像线程
| |
| |------ 记录帧
| |
| |------ _工具条1_被单击
| |
| |------ __启动窗口_可否被关闭
| |
| |------ _组合框1_列表项被选择
| |
| |------ _编辑框1_内容被改变
| |
| |------ _选择框1_被单击
| |
| |------ _选择框2_被单击
| |
| |------ _选择框3_被单击
| |
| |------ _编辑框2_内容被改变
| |
| |
======调用的Dll
| |
| |---[dll]------ 复制位图信息_
| |
| |---[dll]------ 复制位图信息_2
| |
| |---[dll]------ 复制位图头_
| |
| |---[dll]------ 选入设备场景_
| |
| |---[dll]------ 删除对象_
| |
| |---[dll]------ 复制位图_
| |
| |---[dll]------ 复制二进制位图_
| |
| |---[dll]------ 删除设备场景_
| |
| |---[dll]------ 释放设备场景_
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ 画图标_
| |
| |---[dll]------ 取得图标信息_
| |
| |---[dll]------ 取鼠标信息
| |
| |---[dll]------ 取设备场景_
| |
| |---[dll]------ 创建内存场景_
| |
| |---[dll]------ 创建设备位图_
| |
| |---[dll]------ 置伸缩模式_
| |
| |---[dll]------ 取窗口全部设备场景_
| |
| |---[dll]------ 取屏幕句柄_
| |
| |---[dll]------ 鼠标双击时间_
| |
| |---[dll]------ 取鼠标位置_
| |
| |---[dll]------ 测试虚拟键_
| |
| |---[dll]------ 复制场景位图_
| |
| |---[dll]------ 取位图二进制位_
| |
| |---[dll]------ MessageBox
======窗口程序集_启动窗口
| |
| |------ NewWndProc
| |
| |------ _启动子程序
| |
| |------ 开始播放
| |
| |------ 播放线程
| |
| |------ 字节集差异
| |
| |------ 播放帧
| |
| |------ 处理左显示
| |
| |------ 处理顶显示
| |
| |------ _按钮3_被单击
| |
| |
======文件读写
| |
| |------ 打开二进制文件
| |
| |------ 取文件字节集
| |
| |------ 偏移文件读写位置
| |
| |------ 取文件偏移位置
| |
| |------ 关闭打开的文件
| |
| |
======调用的Dll
| |
| |---[dll]------ 创建窗口_
| |
| |---[dll]------ 取客户区矩形_
| |
| |---[dll]------ 异步显示窗口_
| |
| |---[dll]------ 解释消息_
| |
| |---[dll]------ 分派消息_
| |
| |---[dll]------ 获取消息_
| |
| |---[dll]------ PostQuitMessage
| |
| |---[dll]------ DestroyWindow
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ 载入图标_
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ MessageBox
| |
| |---[dll]------ 设置窗口标题_
| |
| |---[dll]------ 改变窗口_
| |
| |---[dll]------ 取窗口矩形_
| |
| |---[dll]------ 发送消息_
| |
| |---[dll]------ 打开二进制文件_
| |
| |---[dll]------ 读入数据_
| |
| |---[dll]------ 关闭内核对象_
| |
| |---[dll]------ 设置当前读写位置_
调用的DLL命令:
.DLL命令 复制位图信息_, 整数型, , "RtlMoveMemory"
.参数 位图指针, 字节集
.参数 位图信息, 位图信息
.参数 结构尺寸, 整数型
.DLL命令 复制位图信息_2, 整数型, , "RtlMoveMemory"
.参数 位图指针, 字节集
.参数 位图信息, 位图信息_
.参数 结构尺寸, 整数型
.DLL命令 复制位图头_, 整数型, , "RtlMoveMemory"
.参数 位图头指针, 字节集
.参数 位图头结构, 位图头结构
.参数 结构尺寸, 整数型
.DLL命令 选入设备场景_, 整数型, "gdi32.dll", "SelectObject"
.参数 场景句柄, 整数型
.参数 对象句柄, 整数型
.DLL命令 删除对象_, 逻辑型, , "DeleteObject"
.参数 对象句柄, 整数型
.DLL命令 复制位图_, 整数型, "gdi32.dll", "StretchBlt", , StretchBlt,将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。这个函数会在设备场景中定义一个目标矩形,并在位图中定义一个源图象。源矩形会根据需要进行伸缩,以便与目标矩形的大小相符
.参数 目标设备场景句柄, 整数型, , hdc,目标设备场景
.参数 目标横坐标, 整数型, , x,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标纵坐标, 整数型, , y,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标宽度, 整数型, , nWidth,目标矩形的宽度和高度,以逻辑坐标表示
.参数 目标高度, 整数型, , nHeight,目标矩形的宽度和高度,以逻辑坐标表示
.参数 源设备场景句柄, 整数型, , hSrcDC,源设备场景。如光栅运算未指定一个源,则这个参数应为零
.参数 源横坐标, 整数型, , xSrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源纵坐标, 整数型, , ySrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源宽度, 整数型, , nSrcWidth,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理
.参数 源高度, 整数型, , nSrcHeight,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理
.参数 光栅运算, 整数型, , dwRop,传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子
.DLL命令 复制二进制位图_, 整数型, "gdi32", "GetDIBits"
.参数 设备场景, 整数型
.参数 位图句柄, 整数型
.参数 扫描线编号, 整数型
.参数 扫描线数量, 整数型
.参数 缓冲区指针, 字节集
.参数 位图信息, 位图信息
.参数 颜色表, 整数型
.DLL命令 删除设备场景_, 整数型, "gdi32.dll", "DeleteDC"
.参数 设备场景句柄
.DLL命令 释放设备场景_, 整数型, "user32.dll", "ReleaseDC", , ReleaseDC
.参数 窗口句柄, 整数型, , hwnd,要释放的设备场景相关的窗口句柄
.参数 设备场景, 整数型, , hdc,要释放的设备场景句柄
.DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc", , 从堆中分配内存
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 GetProcessHeap, 整数型, "kernel32.dll", "GetProcessHeap", , 获取调用过程堆句柄
.DLL命令 画图标_, 整数型, "user32.dll", "DrawIcon", , 在指定的位置画一个图标 非零表示成功,零表示失败。会设置GetLastError
.参数 设备场景句柄, 整数型, , hdc Long,设备场景
.参数 横坐标, 整数型, , x,y Long,想描绘图标的位置(逻辑坐标)
.参数 纵坐标, 整数型, , 同上
.参数 图标句柄, 整数型, , hIcon Long,欲描绘图标的句柄
.DLL命令 取得图标信息_, 整数型, "user32", "GetIconInfo"
.参数 图标句柄, 整数型
.参数 图标信息, 图标信息_, 传址
.DLL命令 取鼠标信息, 整数型, "user32", "GetCursorInfo"
.参数 光标信息, 光标信息, 传址
.DLL命令 取设备场景_, 整数型, "user32", "GetDC", , 获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0
.参数 窗口的句柄, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC;
.DLL命令 创建内存场景_, 整数型, "Gdi32", "CreateCompatibleDC"
.参数 设备场景句柄, 整数型
.DLL命令 创建设备位图_, 整数型, "gdi32", "CreateCompatibleBitmap"
.参数 设备场景句柄, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.DLL命令 置伸缩模式_, 整数型, "gdi32", "SetStretchBltMode", , 指定StretchBlt 和 StretchDIBits函数的伸缩模式。这种伸缩模式定义了Windows如何对伸缩过程中剔除的扫描线进行控制。对于VB窗体和控件,倘若在API绘图过程中使用这个函数,建议恢复原来的StretchBlt模式 上一次伸缩模式的值,零表示失败
.参数 设备场景句柄, 整数型, , hdc
.参数 伸缩模式, 整数型, , nStretchMode
.DLL命令 取窗口全部设备场景_, 整数型, "user32.dll", "GetWindowDC"
.参数 窗口句柄, 整数型
.DLL命令 取屏幕句柄_, 整数型, "user32", "GetDesktopWindow"
.DLL命令 鼠标双击时间_, 整数型, "user32", "GetDoubleClickTime"
.DLL命令 取鼠标位置_, 整数型, "user32", "GetCursorPos"
.参数 位置, 坐标_
.DLL命令 测试虚拟键_, 整数型, "user32", "GetAsyncKeyState"
.参数 键代码, 整数型, , vKey Long,欲测试的虚拟键的键码
.DLL命令 复制场景位图_, 整数型, "gdi32.dll", "BitBlt"
.参数 目标设备场景, 整数型, , hDestDC,目标设备场景
.参数 目标横坐标, 整数型, , x,对目标设备场景中目标矩形左上角位置进行描述的那个点
.参数 目标纵坐标, 整数型, , y,对目标设备场景中目标矩形左上角位置进行描述的那个点
.参数 传输图像宽度, 整数型, , nWidth,欲传输图象的宽度
.参数 传输图像高度, 整数型, , nHeight,欲传输图象的高度
.参数 源设备场景, 整数型, , hSrcDC,源设备场景。如光栅运算未指定源,则应设为0
.参数 源横坐标, 整数型, , xSrc,对源设备场景中源矩形左上角位置进行描述的那个点
.参数 源纵坐标, 整数型, , ySrc,对源设备场景中源矩形左上角位置进行描述的那个点
.参数 光栅运算方式, 整数型, , dwRop,传输过程要执行的光栅运算
.DLL命令 取位图二进制位_, 整数型, "gdi32.dll", "GetDIBits", , 将来自一幅位图的二进制位复制到一幅与设备无关的位图里 非零表示成功,零表示失败。在Windows 95中,返回值是返回的扫描线数量
.参数 设备场景句柄, 整数型, , aHDC,定义了与设备有关位图hBitmap的配置信息的一个设备场景的句柄
.参数 源位图句柄, 整数型, , hBitmap,源位图的句柄。绝对不能将这幅位图选入设备场景
.参数 扫描线初始编号, 整数型, , nStartScan,欲复制到DIB中的第一条扫描线的编号
.参数 扫描线数量, 整数型, , nNumScans,欲复制的扫描线数量
.参数 缓冲区指针, 字节集, 传址, lpBits,指向一个缓冲区的指针。这个缓冲区将用于装载采用DIB格式的信息,但不取回数据(用ByVal传递零值)
.参数 位图结构, 位图信息_, , lpBI,BITMAPINFO,对lpBits DIB的格式及颜色进行说明的一个结构。在BITMAPINFOHEADER结构中,从biSize到biCompression之间的所有字段都必须初始化
.参数 常量标志, 整数型, , wUsage,下述常数之一:;DIB_PAL_COLORS:在颜色表中装载一个16位所以数组,它们与当前选定的调色板有关;DIB_RGB_COLORS:在颜色表中装载RGB颜色;
.DLL命令 MessageBox, 整数型, , "MessageBoxA"
.参数 窗口句柄, 整数型
.参数 提示消息, 文本型
.参数 窗口标题, 文本型
.参数 窗口风格, 整数型
调用的DLL命令:
.DLL命令 创建窗口_, 整数型, "user32.dll", "CreateWindowExA"
.参数 扩展风格, 整数型
.参数 类名, 文本型, , 刚才注册的类名
.参数 窗口标题, 文本型
.参数 风格, 整数型
.参数 屏幕横坐标, 整数型
.参数 屏幕纵坐标, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.参数 父窗口句柄, 整数型, , 没有就写0
.参数 菜单句柄, 整数型
.参数 模块句柄, 整数型
.参数 参数, 整数型
.DLL命令 取客户区矩形_, 整数型, "user32", "GetClientRect"
.参数 窗口句柄, 整数型
.参数 矩形区域, 矩形_
.DLL命令 异步显示窗口_, 整数型, "user32", "ShowWindowAsync", , ShowWindowAsync
.参数 窗口句柄, 整数型, , hwnd,欲接收ShowWindow命令的窗口
.参数 可视性类型, 整数型, , nCmdShow,与ShowWindow相同
.DLL命令 解释消息_, 整数型, "user32.dll", "TranslateMessage"
.参数 消息结构, 消息_, , lpMsg
.DLL命令 分派消息_, , "user32.dll", "DispatchMessageA"
.参数 消息结构, 消息_, , lpMsg
.DLL命令 获取消息_, 整数型, "user32.dll", "GetMessageA", , GetMessage
.参数 消息值, 消息_, , lpMsg
.参数 窗口句柄, 整数型, , hwnd
.参数 过滤消息最小值, 整数型, , wMsgFilterMin
.参数 过滤消息最大值, 整数型, , wMsgFilterMax
.DLL命令 PostQuitMessage, , "user32", "PostQuitMessage", , 通知WINDOWS线索将中断
.参数 nExitCode, 整数型
.DLL命令 DestroyWindow, 整数型, "user32", "DestroyWindow", , 破坏(即清除)指定的窗口以及它的所有子窗口(在vb里使用:用处不大。原文:it ; is unlikely to be of much use.) 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 欲清除的窗口的句柄;
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA"
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 载入图标_, 整数型, "user32.dll", "LoadIconA", , 从指定的模块或应用程序实例中载入一个图标
.参数 实例句柄, 整数型, , hInstance,参见相关帮助
.参数 图标标识, , , lpIconName,作为一个字串,指定欲载入的图标资源
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 整数型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 MessageBox, 整数型, "user32.dll", "MessageBoxA"
.参数 窗口句柄, 整数型
.参数 提示消息, 文本型
.参数 窗口标题, 文本型
.参数 窗口风格, 整数型
.DLL命令 设置窗口标题_, 整数型, "user32", "SetWindowTextA"
.参数 窗口句柄, 整数型
.参数 窗口标题, 文本型
.DLL命令 改变窗口_, 整数型, "user32.dll", "MoveWindow"
.参数 窗口句柄, 整数型, , hwnd,欲移动窗口的句柄
.参数 左侧位置, 整数型, , x,窗口新的左侧位置
.参数 顶部位置, 整数型, , y,窗口新的顶部位置
.参数 新宽度, 整数型, , nWidth,窗口的新宽度
.参数 高宽度, 整数型, , nHeight,窗口的高宽度
.参数 是否重画, 整数型, , bRepaint,如窗口此时应重画,则设为TRUE(非零)
.DLL命令 取窗口矩形_, 整数型, "user32", "GetWindowRect"
.参数 窗口句柄, 整数型
.参数 矩形区域, 矩形_
.DLL命令 发送消息_, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 打开二进制文件_, 整数型, "kernel32.dll", "_lopen"
.参数 文件名, 文本型, , lpPathName,欲打开文件的名字
.参数 访问权限, 整数型, , iReadWrite,访问模式和共享模式常数的一个组合
.DLL命令 读入数据_, 逻辑型, "kernel32", "ReadFile", , 从文件中读出数据。与lread函数相比,这个函数要明显灵活的多。该函数能够操作通信设备、管道、套接字以及邮槽 非零表示成功,零表示失败。会设置GetLastError。如启动的是一次异步读操作,则函数会返回零值,并将ERROR_IO_PENDING设置成GetLastError的结果。如结果不是零值,但读入的字节数小于nNumberOfBytesToRead参数指定的值,表明早已抵达了文件的结尾
.参数 文件句柄, 整数型, , 文件的句柄
.参数 数据缓冲区, 字节集, 传址, 用于保存读入数据的一个缓冲区
.参数 字符数, 整数型, , 要读入的字符数
.参数 实际读入字符数, 整数型, 传址, 从文件中实际读入的字符数
.参数 异步过程, 整数型, , OVERLAPPED,如文件打开时指定了FILE_FLAG_OVERLAPPED,那么必须用这个参数引用一个特殊的结构。那个结构定义了一次异步读取操作。否则,应将这个参数设为NULL(将函数声明成ByVal As 并传递零值);
.DLL命令 关闭内核对象_, 逻辑型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 设置当前读写位置_, 整数型, "Kernel32", "SetFilePointer"
.参数 hFile, 整数型
.参数 lDistanceToMove, 整数型
.参数 lpDistanceToMoveHigh, 整数型
.参数 dwMoveMethod, 整数型
易语言类QQ窗口源码,类QQ窗口...
易语言电子蚊香源码,beep...
易语言歌词秀源码,排序LRC时间内容,MCI控制...
易语言会打字就会弹钢琴码重发正传源码,设置编辑框只读状态,构造乐谱列表,取常量中的每分钟拍数,取常量中的乐谱,置MIDI组件,演奏音符,停止演奏音符,处理按下某键,处理放开某键,构造...
易语言摄像头演示源码,capCreateCaptureWindow,SendMessageStr,SendMessage...
排序LRC时间内容,MCI控制...
简易MP3播放器源码...
设置编辑框只读状态,构造乐谱列表,取常量中的每分钟拍数,取常量中的乐谱,置MIDI组件,演奏音符,停止演奏音符,处理按下某键,处理放开某键,构造音符对照表,添加键代码音符对,添加字符音符对,查询键代码对应音符,播放乐谱,计算音符播放时间,停止播放乐谱...
出题,标签显示,提示,音乐程序...