📄 0516007.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title></title>
<link rel="stylesheet" type="text/css" href="../../vckbase.css">
</head>
<body>
<div align="justify">
<table border="0" width="100%" class="font" height="57">
<tr>
<td width="27%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
<font color="#800080">VC知识库(五)</font>
</td>
<td width="73%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
<font color="#800080">www.vckbase.com</font>
</td>
</tr>
<tr>
<td width="100%" height="4" class="header" valign="top" align="center" colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="100%" height="17" class="header" valign="top" align="center" colspan="2">
<font class="12v">用VToolsD开发一个简单的VxD</font>
</td>
</tr>
<tr>
<td width="100%" height="17" class="info" align="center" colspan="2">
<font class="12v">孙喜明</font>
</td>
</tr>
<tr>
<td width="100%" height="22" class="font" colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="100%" height="5" class="font" colspan="2">
<p><br>
<font class="12v" size="-1"> </font><font class="12v">这一次,我们讲一下如何用VToolsD开发一个最简单的VxD,以及用SoftIce进行源程序级的调试。<br>
<br>
<strong><br>
VToolsD的使用<br>
<br>
</strong><br>
在VtoolsD中,有一个最重要的VxD开发工具:QuickVxD。QuickVxD可以为我们自动生成VxD源程序框架,而且QuickVxD提供了许多VxD的特性选项,例如可以选择要生成的VxD是动态加载的或是静态加载的,要使用的编程语言是C还是C++等等。<br>
<br>
我们要利用QuickVxD自动生成的是一个可动态加载的、基于C语言的VxD框架。之所以选用动态加载的VxD,是为了调试VxD的方便。每次修改代码,重新编译连接之后,要使VxD重新生效,如果采用静态加载的VxD,那就不得不重新启动电脑,而若采用了动态加载的VxD,那只须使用VToolsD带的另一个开发工具VxDLoad就可以卸出或重新加载内存中的VxD。之所以采用C语言而不是C++,是因为其简洁易懂。请按照如图1~图4进行选择。按下Generate
Now按钮,我们就获得了动态加载的、基于C语言的VxD的源程序。<br>
<br>
如果您是按照上一篇文章中讲过的VToolsD的编译环境设置系统,那我们就可以编译刚才生成的这个最简单的VxD了。在DOS提示符下输入指令:<br>
<br>
nmake -f myfirst.mak<br>
<br>
看一下当前目录下是否生成了myfirst.vxd,如果有,那我们下面准备对这个VxD进行源程序级的调试。如果没有,那么很可能是您的编译环境没有正确配置,请找来上一篇文章好好读读。<br>
<br>
用VxDLoad加载myfirst.vxd(见图5)<br>
<br>
按下Load按钮,会出现VxD load successfully消息框。<br>
<br>
<strong><br>
用SoftIce调试VxD<br>
<br>
</strong><br>
对于SoftIce选单作如下选择:<br>
<br>
(1)File→Open Module选择我们刚才生成的myfirst.vxd。<br>
<br>
(2)Module→Translate,如果Symbol Loader提示无法加载一些asm文件,那就跳过所有的asm文件。<br>
<br>
(3)Module→Load。<br>
<br>
按下Ctrl+D,进入SoftIce运行环境中(如果您还没有按照上一篇文章中安装SoftIce的话,那就无法再进行下面的测试)。输入如下指令:<br>
<br>
:file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -