用VC6.0集成环境快速开发VxD
2006-04-08 11:37:08 来源:WEB开发网VxD (Virtual Device Driver), 即虚拟设备驱动程序, 是运行在处理器Ring0特权级别的驱动程序,可以执行任何处理器指令,访问机器中的任何数据寄存器。VxD被用作Windows 9x系统和物理设备之间的接口,扩展了WINDOWS 系统的核心服务,能够访问和控制实际的硬件环境。
随着WIN 2000和新一代的设备驱动程序WDM(Windows Driver Model)推出,预计VxD将慢慢过时,而现实情况却是:随便打开一种网络计数器的统计窗口就会发现,Windows 98 系统仍然占据了90%以上的市场份额。怎么才能掌握一种省时高效开发VXD的方法,就成为程序员们迫切需要解决的问题。
回顾传统的方法,用微软的DDK来编写VXD,是一项非常烦琐漫长的过程:
1 编辑代码居然没有图形界面,还是在DOS的命令行中用EDIT,EDIT不支持多窗口,查看、替换代码都很不方便。
2 编译只能用VC5.0,而不能用的VC6.0。在WIN 98 DDK 帮助中, System Requirements 部分,微软清楚地提醒大家:Note that Visual C++ 6.0 is not supported for any of the samples.
3 对静态VxD,每次改写代码,都需要在system.ini 文 件 中,对节[386Enh] 加 一 行:device= VxD文件名, 每次改写,都要重新启动计算机,每次都要经过漫长的等待过程,简直让人无法忍受。
如何解决上述3个问题,笔者仅就工作中取得的经验,谈谈用VC6.0集成环境快速开发VxD的方法,希望能给大家带来一些帮助。
在开发护花使者反黄软件时,笔者采用了VtoolsD 3.0来编写文件保护VxD模块。
VtoolsD 3.0 是Compuware 公司开发的软件包,包含几个实用工具:
1. QuickVxD:创建VxD的C和C++语言框架,它不仅支持VC5.0和VC6.0 ,而且支持Borland C++ 5.x。和VC的AppWizard 类似,QuickVxD相当于一个代码生成器,不同的是AppWizard用MFC类库来生成程序框架,而QUICKVXD利用自定义的一系列宏和类来生成程序框架。
更多精彩
赞助商链接