文章附件下载:www.pan38.com/dow/share.p… 提取密码:5033
源码部分:
.版本 2 .支持库 commobj .支持库 eMMedia .支持库 iext3 .支持库 spec .支持库 iext .支持库 eCompress
.程序集 启动窗口_程序集 .程序集变量 数据, 快速字节集对象 .程序集变量 屏幕录制, 屏幕差异获取 .程序集变量 正在录制, 逻辑型 .程序集变量 Aero, 逻辑型
.子程序 最新文件名, 文本型 .参数 文件位置, 文本型 .局部变量 文件, 文本型 .局部变量 I, 整数型
I = 1 文件 = 寻找文件 (文件位置 + “\录像” + 到文本 (I) + “.Eplay”, ) .判断循环首 (文件 ≠ “”) I = I + 1 文件 = 寻找文件 (文件位置 + “\录像” + 到文本 (I) + “.Eplay”, ) .判断循环尾 () 返回 (“录像” + 到文本 (I))
.子程序 _按钮_判断存在_被单击
.判断开始 (文件是否存在 (编辑框_保存文件夹.内容 + “\” + 编辑框_文件名.内容 + “.Eplay”)) .如果真 (信息框 (“文件已存在,是否更新最新文件名?”, #询问图标 + #是否钮, “提示”) = #是钮) 编辑框_文件名.内容 = 最新文件名 (编辑框_保存文件夹.内容) .如果真结束
.默认 信息框 (“文件未存在,可以录制!”, #信息图标, “提示”) .判断结束
.子程序 录制帧 .参数 数据, 字节集
数据_.添加 (数据 + #分隔符)
.子程序 开始录制 .局部变量 格式, 整数型
.如果真 (单选框_BMP.选中 = 真) 格式 = 3 .如果真结束 .如果真 (单选框_PNG.选中 = 真) 格式 = 2 .如果真结束 .如果真 (单选框_JPG.选中 = 真) 格式 = 1 .如果真结束 屏幕录制.启动 (32, 15, 选择框_录制捕捉层.选中, 90, 格式) .如果真 (选择框_录制声音.选中) 录音.录制 () .如果真结束
.子程序 _时钟_录制_周期事件
录制帧 (屏幕录制.获取差异 ())
.子程序 _CD开始录制_被选择
开始录制 () 托盘_闪烁图标 (-1) 时钟_录制.时钟周期 = 1000 \ 到整数 (编辑框_帧频.内容) 正在录制 = 真 CD停止录制.可视 = 真 CD开始录制.可视 = 假 选择夹_模式.禁止 = 真 CD暂停录制.禁止 = 假
.子程序 __启动窗口_创建完毕
窗口_限制尺寸 (取窗口句柄 (), 745, 300) Aero = 关闭系统aero () 可视 = 真 编辑框_临时文件夹.内容 = 取运行目录 () + “\TempFiles\” 编辑框_保存文件夹.内容 = 取运行目录 () + “\SaveFiles\” 编辑框_文件名.内容 = 最新文件名 (编辑框_保存文件夹.内容) 画板_图像.移动 (5, 5, 取屏幕宽度 (), 取屏幕高度 ()) 延迟 (500) 画板_图像.底图 = 快照 (, , ) 录音.置格式 (1, 8000, 16) 托盘_创建 (取窗口句柄 (), &托盘事件, , “永恒E屏幕录制V1.0”)
.子程序 _按钮_选择缓存文件夹_被单击 .局部变量 文件名, 文本型
文件名 = 高级对话框.高级文件夹浏览 (“定位缓存文件夹位置”, 假, , 真, 真) .如果真 (文件名 ≠ “”) 编辑框_临时文件夹.内容 = 文件名 .如果真结束
.子程序 _按钮_选择保存文件夹_被单击 .局部变量 文件名, 文本型
文件名 = 高级对话框.高级文件夹浏览 (“定位保存文件夹位置”, 假, , 真, 真) .如果真 (文件名 ≠ “”) 编辑框_保存文件夹.内容 = 文件名 .如果真结束
.子程序 __启动窗口_尺寸被改变
处理事件 () 选择夹_模式.移动 (, , 取用户区宽度 () - 10, ) 选择夹_录制.移动 (, , 取用户区宽度 () - 20, ) .判断开始 (高度 < 320) 外形框_图像.可视 = 假 .默认 外形框_图像.移动 (, , 取用户区宽度 () - 10, 取用户区高度 () - 外形框_图像.顶边 - 5) 外形框_图像.可视 = 真 .判断结束
.子程序 _画板_图像_鼠标左键被按下, 逻辑型 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型
画板_图像.发送信息 (161, 2, 0)
.子程序 生成文件 .局部变量 i, 整数型 .局部变量 文件号, 整数型
载入 (窗口_生成文件, 启动窗口, 假) 屏幕录制.销毁 () 画板_图像.底图 = 快照 (, , ) .如果真 (文件_目录是否存在 (编辑框_临时文件夹.内容) = 假) 文件_创建多级目录 (编辑框_临时文件夹.内容) .如果真结束 .如果真 (文件_目录是否存在 (编辑框_保存文件夹.内容) = 假) 文件_创建多级目录 (编辑框_保存文件夹.内容) .如果真结束 创建目录 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\”) 文件号 = 打开文件 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\” + “录制文件Temp”, #重写, 4) .如果真 (文件号 ≠ 0) .如果真 (是否已创建 (窗口_生成文件) = 真) 窗口_生成文件.标签_提示.标题 = “正在生成录制文件...” .如果真结束 写出字节集 (文件号, 数据.取字节集 (, )) 关闭文件 (文件号) 窗口_生成文件.进度条.位置 = 10 .如果真 (是否已创建 (窗口_生成文件) = 真) 窗口_生成文件.标签_提示.标题 = “正在写出配置文件...” .如果真结束 写配置项 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\Config”, “视频设置”, “周期”, 到文本 (1000 \ 到整数 (编辑框_帧频.内容))) 写配置项 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\Config”, “自设信息”, “X”, 编辑框_信息x.内容) 写配置项 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\Config”, “自设信息”, “Y”, 编辑框_信息y.内容) 写配置项 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\Config”, “自设信息”, “内容”, 编辑框_信息内容.内容) 窗口_生成文件.进度条.位置 = 20 .如果真 (录音.是否在录制 ()) 录音.停止 () 录音.保存文件 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\Music”, 真) .如果真结束 .如果真 (是否已创建 (窗口_生成文件)) 窗口_生成文件.标签_提示.标题 = “正在保存为EPLAY文件...” 窗口_生成文件.ZIP压缩.压缩 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\”, 编辑框_保存文件夹.内容 + “\” + 编辑框_文件名.内容 + “.EPlay”) 信息框 (“生成Eplay完毕,大小:” + 数值到格式文本 (取文件尺寸 (编辑框_保存文件夹.内容 + “\” + 编辑框_文件名.内容 + “.EPlay”) ÷ 1024, 3, 真) + “Kb”, #信息图标, “生成完毕”)
.如果真结束
.如果真结束
删除目录 (编辑框_临时文件夹.内容 + “\” + 编辑框_文件名.内容 + “Temp\”) 编辑框_文件名.内容 = 最新文件名 (编辑框_保存文件夹.内容) 数据_.清除字节集 () 窗口_生成文件.销毁 ()
.子程序 _CD停止录制_被选择
时钟_录制.时钟周期 = 0 正在录制 = 假 CD停止录制.可视 = 假 CD开始录制.可视 = 真 CD暂停录制.禁止 = 真 选择夹_模式.禁止 = 假 托盘_闪烁图标 (0) 生成文件 ()
.子程序 _CD暂停录制_被选择
时钟_录制.时钟周期 = 0 正在录制 = 真 CD暂停录制.可视 = 假 CD继续录制.可视 = 真 托盘_闪烁图标 (0) .如果真 (选择框_录制声音.选中) 录音.暂停 () .如果真结束
.子程序 _CD继续录制_被选择
时钟_录制.时钟周期 = 1000 \ 到整数 (编辑框_帧频.内容) 正在录制 = 真 CD暂停录制.可视 = 真 CD继续录制.可视 = 假 托盘_闪烁图标 (-1) .如果真 (选择框_录制声音.选中) 录音.继续 () .如果真结束
.子程序 _编辑框_帧频_内容被改变
.如果真 (到整数 (编辑框_帧频.内容) < 1) 编辑框_帧频.内容 = “1” 鸣叫 () .如果真结束 .如果真 (到整数 (编辑框_帧频.内容) > 25) 编辑框_帧频.内容 = “25” 鸣叫 () .如果真结束
.子程序 __启动窗口_将被销毁
.如果真 (Aero) 开启系统aero () .如果真结束
.子程序 _CD复制当前帧_被选择
.如果真 (剪贴板.置图片 (快照 (, , ))) 系统_高级鸣叫 (-3) .如果真结束
.子程序 _CD保存当前帧_被选择 .局部变量 数据, 字节集 .局部变量 对话框, 高级对话框类 .局部变量 文件名, 文本型
数据 = 快照 (, , ) 对话框.初始化高级通用对话框 (“位图文件(.Bmp)|.Bmp|所有文件(.)|.”, , , “Bmp”) .如果真 (对话框.打开特殊文件对话框 (取窗口句柄 (), 1, 文件名, “保存到”, 1)) 写到文件 (文件名, 数据) .如果真结束
.子程序 _选择框_立体声_被单击
录音.置格式 (选择 (选择框_立体声.选中, 2, 1), 8000, 16)
.子程序 _编辑框_键代码1_按下某键, 逻辑型 .参数 键代码, 整数型 .参数 功能键状态, 整数型
.如果真 (键代码 = #Ctrl键 或 键代码 = #Alt键 或 键代码 = #Shift键) 返回 (假) .如果真结束 选择框_shift1.选中 = 位与 (功能键状态, #Shift键状态) ≠ 0 选择框_alt1.选中 = 位与 (功能键状态, #Alt键状态) ≠ 0 选择框_ctrl1.选中 = 位与 (功能键状态, #Ctrl键状态) ≠ 0 编辑框_键代码1.内容 = 到文本 (键代码)
.子程序 _编辑框_键代码2_按下某键, 逻辑型 .参数 键代码, 整数型 .参数 功能键状态, 整数型
.如果真 (键代码 = #Ctrl键 或 键代码 = #Alt键 或 键代码 = #Shift键) 返回 (假) .如果真结束 选择框_shift2.选中 = 位与 (功能键状态, #Shift键状态) ≠ 0 选择框_alt2.选中 = 位与 (功能键状态, #Alt键状态) ≠ 0 选择框_ctrl2.选中 = 位与 (功能键状态, #Ctrl键状态) ≠ 0 编辑框_键代码2.内容 = 到文本 (键代码)
.子程序 _按钮_设置快捷键_被单击
全局热键_注册 (取窗口句柄 (), 选择 (选择框_shift2.选中, 4, 0) + 选择 (选择框_ctrl2.选中, 2, 0) + 选择 (选择框_alt2.选中, 1, 0), 到整数 (编辑框_键代码2.内容), &热键_回调1) 全局热键_注册 (取窗口句柄 (), 选择 (选择框_shift1.选中, 4, 0) + 选择 (选择框_ctrl1.选中, 2, 0) + 选择 (选择框_alt1.选中, 1, 0), 到整数 (编辑框_键代码1.内容), &热键_回调2) 信息框 (“设置成功!”, #信息图标, )
.子程序 热键_回调2 .参数 HWND .参数 MSG .参数 W .参数 L
.判断开始 (CD开始录制.可视) _CD开始录制_被选择 () .默认 _CD停止录制_被选择 () .判断结束
.子程序 热键_回调1 .参数 HWND .参数 MSG .参数 W .参数 L
.如果真 (CD停止录制.可视) .判断开始 (CD暂停录制.可视) _CD暂停录制_被选择 () .默认 _CD继续录制_被选择 () .判断结束
.如果真结束
.子程序 _按钮_浏览播放_被单击 .局部变量 对话框, 高级对话框类 .局部变量 文件名, 文本型
对话框.初始化高级通用对话框 (“永恒E播放文件(.EPlay)|.EPlay|所有文件(.)|.”, , 编辑框_保存文件夹.内容) .如果真 (对话框.高级通用对话框 (取窗口句柄 (), 0, 文件名, “打开播放文件”, 0)) 编辑框_播放位置.内容 = 文件名 .如果真结束
.子程序 _按钮_开始播放_被单击
载入 (窗口_播放, , 假) 窗口_播放.文件位置 = 编辑框_播放位置.内容
.子程序 __启动窗口_可否被关闭, 逻辑型
可视 = 假 返回 (假)
.子程序 _CD最小化到托盘_被选择
可视 = 假
.子程序 _TPCD退出_被选择
销毁 ()
.子程序 托盘事件 .参数 类型, 整数型
.如果真 (类型 = #托盘事件_鼠标双击) 可视 = 真 .如果真结束 .如果真 (类型 = #托盘事件_鼠标右键被按下) 弹出托盘菜单 (CD托盘菜单) .如果真结束
.子程序 _还原窗口_被选择
可视 = 真
.子程序 _CD退出_被选择
销毁 ()
.子程序 _CD关于_被选择