2012年4月,大二下学期,平静的课堂上老师通知了一个比赛。。。第一届大学生软件设计大赛!然后我选了第六题:windows屏幕录像。就这样我就开始了我的vc开发生涯。

之前学了c/c++作为基础,自认为当时的自己学的还算不错(当然,现在看起来很可笑),然后就天天逃课,和同学一起查阅资料,学习win32、MFC。差不多用了两周的时间了解了一下在windows平台下有哪些屏幕录像的方法,GDI、DX、mirror driver 等等,最后由于题目要求的性能比较高(超级烂的硬件下还要求cpu消耗低于10%,内存使用小于20M),然后就选择了mirror driver,也是难度最大的一个。

由于比较心急,而且第一次做项目,啥经验也没有,连win32、mfc编程的知识也没有,所以就开始乱七八糟的学vc,经过了漫长、痛苦、挣扎、纠结的一个月之后,做这个题目的也只有我一个人还在继续了。虽然项目很难,努力了那么久,我实在不甘心放弃,况且我当时是那么的爱vc。

真是皇天不负有心人,经过了两周的时间,我把vnc官网上下载的源码,mirror driver录像的部分仔细的研究了一遍,终于明白了录像的流程。(话说现在想起来真的还是很佩服当时的自己,连vc都不清楚,居然把当时对于自己来说如此庞大的源码研究明白了)

时间已经很紧迫,快接近尾声了,故开始一个人昼夜赶代码,当时还没有一点软件工程的概念,所以啥也没在纸上画,直接凭着感觉写,写得累,但很有激情。

在还有两周就要交稿的时候,录像的功能基本实现了。通过镜像驱动将屏幕变化的矩形区域信息放到一个temp共享文件中,然后读取出来用xvid压缩成flv文件。在xp系统上(硬件:CPU 2.2GHz;内存2G)测试cpu消耗20%,内存消耗40M。是题目性能要求的2倍了,当时判断是使用xvid压缩的原因。

此时,题目要求的其它部分:网络传输,帧编号,记录矩形日志.......都还没做,况且录像部分不能直接压缩为视频文件,需要优化有进行网络传输。现在看来这些东西很简单,但当时对于自己来说又是空白的,学的时间也不够了。本来之前是分配给另外两个组员做的,但是......,然后还被强行安排了一个不懂编程的指导老师。。。。。。想想时间也不够了,一阵心酸之后,决定放弃吧!假期的时候认真学一下vc。。。然后我的第一个vc项目就这样终结了,很遗憾,它没能被完成,现在自己的发展方向也不是vc了,所以就没有继续,只能将它扔到一边,写此文祭奠一下。。。。。。。

now,2013年初,该程序已经完成,留着明年做毕业答辩用,
想要看源码的朋友,可以联系我,我这里以前的很多资料和源码都还保留着的。

源码已经上传,现在不做pc开发了,有需要的朋友自己慢慢研究吧http://download.csdn.net/download/scf821416394/5787977

//----2015

本以为没有朋友会再研究这个了,没想到到现在都还有朋友在要源码,改天空了我把积分下载删了,上传一份免费的上去。(在上学时经常下载东西,缺积分、所以才弄了个积分下载勒索点积分用用,哈哈)

http://pan.baidu.com/s/1hqRqCio

https://pan.baidu.com/s/1Dok3JAO1uQ848BmdgQDvQA

vnc mirror driver的更多相关文章

  1. VC Mirror Driver显示虚拟驱动经典开发

    一个简单的显示驱动实例windows wdk 7600的 mirror(镜像) 显示驱动部分基本流程:Windows 2000 DDK包含了一个例子镜像驱动程序,在 上面3个目录中包括了组件源文件.目 ...

  2. Windows安装VNC服务端

    下载VNC服务端 由于服务器在IDC机房,只能使用系统自带远程桌面连接到服务器进行安装VPC服务端 但在安装过程发现,如果是通过远程桌面连接到服务器进行安装,VNC Mirror Driver会报错无 ...

  3. vnc远程运行3D游戏

    使用的版本:VNC-5.2.3-Windows.exe   vnc官网 安装的过程中需要输入license key,以下给出一些enterprise license(最大权限的License): K5 ...

  4. Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法

    Radmin Server v3.5 汉化破解绿色版(x32 x64通用) 第三版 下载链接: https://pan.baidu.com/s/1qYVcSQo 2016年7月8日更新第三版1.修复在 ...

  5. Windows桌面共享中一些常见的抓屏技术

    1. BitBlt 我想做Windows开发应该都知道这个API, 它能实现DC间的内容拷贝, 如果我们把源DC指定成Monitor DC或是桌面DC, 它就能实现抓屏功能. 对于通过这种方式的抓屏, ...

  6. Dokan[转]

    原文地址:http://www.cnblogs.com/xxonehjh/p/3634889.html 因工作需要,最近与同事合作使用Dokan开发了一个虚拟磁盘的简单程序,初步实现了远程目录映射到本 ...

  7. Dokan虚拟磁盘开发实战

    因工作需要,最近与同事合作使用Dokan开发了一个虚拟磁盘的简单程序,初步实现了远程目录映射到本地虚拟磁盘的功能. 远程服务端是用Python写的,主要是将远程主机上的目录文件传给客戶端,在这里就不细 ...

  8. UltraVNC 简体中文版 1.2.2.1

    1.专门针对WinXP进行编译,同时适用XP之后的Windows版本(XP/Vista/8.1/10/2003/2008/2012): 2.配置低的计算机,Win8.1之前的系统,需要安装Mirror ...

  9. Windows抓屏技术

    Windows桌面共享中一些常见的抓屏技术 1. BitBlt   我想做Windows开发应该都知道这个API, 它能实现DC间的内容拷贝, 如果我们把源DC指定成Monitor DC或是桌面DC, ...

随机推荐

  1. CF1466G Song of the Sirens

    题目传送门 题意简述:给出 \(n,s_0,t\ (n=|t|)\),定义 \(s_i=s_{i-1}+t_i+s_{i-1}\).多次询问给出 \(k,m\),求 \(m\) 在 \(s_k\) 中 ...

  2. 关于单倍型和Phasing

    单倍型,即单倍体基因型,概念很好理解. 单倍型分型的过程就称之Phasing,定相或基因分型. Phasing的意义,在人类疾病遗传和动植物群体遗传中非常重要.也是imputation的必经过程. v ...

  3. go搭建beego框架 go安装bee报错 github.com/derekparker/delve@v1.4.0: parsing go.mod:

    go搭建beego框架 go安装bee报错 go使用beego框架的时候,需要安装bee,安装的时候遇到一些坑报错,这里跟大家分享一下,有助于快速安装bee,搭建好beego环境 1. 首先切换到go ...

  4. MYSQL5.8----2

    一定要按照这个顺序,where group by having order by limit 可以进行一次排序之后再一次拍寻 #存储的时候,能存数字就村数字

  5. 短序列组装Sequence Assembly(转载)

    转载:http://blog.sina.com.cn/s/blog_4af3f0d20100fq5i.html 短序列组装(Sequence assembly)几乎是近年来next-generatio ...

  6. c#图标、显示图表、图形、json echarts实例 数据封装【c#】

    page: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Viewxxx ...

  7. 零基础学习java------30---------wordCount案例(涉及到第三种多线程callable)

    知识补充:多线程的第三种方式 来源:http://www.threadworld.cn/archives/39.html 创建线程的两种方式,一种是直接继承Thread,另外一种就是实现Runnabl ...

  8. 多人协作解决方案,git flow的使用

    简介 Gitflow工作流程围绕项目发布定义了严格的分支模型. 为不同的分支分配了非常明确的角色,并且定义了使用场景和用法.除了用于功能开发的分支,它还使用独立的分支进行发布前的准备.记录以及后期维护 ...

  9. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(八)-认识内存管理

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

  10. D3-更改x轴的标签

    记录,上代码