谁动了我的电脑?Who Operated My Computer?

foreveryday007 2004-04-07 10:45:35
标题:谁动了我的电脑?Who Operated My Computer?
申明:本程序只是我没事时想出的一个功能
设计:DoWhat
日期:2004-04-06
更新: 2004-04-07
EMail:dowhat5@hotmail.com
主页:http://www.dowhat.con.cn
下载:http://dowhat.533.net/downloads/womc.zip

WriteLog.exe: 记录日志
1) 程序建立互斥对象(WriteLog);
2) 程序与WINDOWS启动自动执行,同时自动加至WINDOWS自动运行菜单;
3) 根据当前程序执行的目录,日期与时间,建立本次日志目录
(.\log\2004Y4M7D-8H25M17S218Ms\);
4) 启动写日志定时器(间隔1S);
5) 定时器捕获当前整个屏幕,将图像保存至Bmp对象中;
6) 将Bmp对象中的图像保存至内存流中;
7) 按最大的压缩比例对原始图像流进行压缩;
8) 将压缩之后的图像流保存为自定义格式的文件(log1.dat..);
ReadLog.exe: 显示日志记录
1) 程序建立互斥对象(WriteLog),若失败就表示WriteLog在运行,关闭WriteLog.exe;
2) 程序正常启动;
3) 介面上有1个EDIT(可以设置读日志定时器的间隔时间),默认为100Ms(1S内能显示10幅
日志图像);若修改为200Ms(1S内能显示5幅日志图像),依次类推;
4) 介面上有1个Read按钮,点Read按钮可以选择日志目录
(C:\Log\log\2004Y4M7D-8H25M17S218Ms);
5) 程序开始启动读日志定时器;
6) 每显示1幅图像,FORM的标题会显示No. XX(表示目前显示第XX幅);
7) 从DAT文件读取到文件流;
8) 解压缩到ReadBitMap;
9) 暂存成BMP文件;
10)介面上开始显示BMP文件;
11)介面上有1个Pause按钮;在动态显示的过程中,你可以按此按钮使之暂停;
同时此按钮的标题会是Continue;
12)在暂停状态时,你会发现Read按钮的标题是Prior,
此Prior的功能就是:在暂停状态可以翻前一幅的图像;
13)在暂停状态时,你会发现Pause按钮的标题是Continue,
此Continue的功能就是:在暂停状态可以继续让程序动态显示日志记录;
14)日志记录显示完成后,FORM的标题会显示The End! Count:XX(总共的图像张数);

PS: 此2个可执行文件,是一个程序写的,其实就是一个可执行文件;
不同的是:文件名称不一样,程序里就是用文件名称来和"WriteLog.exe"比较来确定的;
相关过程来源 http://www.yesky.com/20010411/168854_2.shtml

其它:
1) 每个DAT文件25KB左右(1S产生25KB),不过测试中发现有的也不确定;
2) 测试:按缺省的压缩比例1.5小时,5500多个DAT共407MB
(如果日志记录时间24H,则大约为6G,所以请看完日志记录后就同时把删除了),
现在是修改成最大的压缩比较,应该比这个还要小点;
3) Mouse无法捕获至BMP图像中;
4) 任务栏也无法捕获至BMP图像中;
5) 如果用户长时间没有输入,则有好多相同图像;

稍后:
我会把相关可执行文件放至CSDN上供大家下载;
...全文
68 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧