⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_vxd例程:消息框(vxd教程5).htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 3 页
字号:
              color=#cccccc>MsgTitle</FONT></FONT></FONT></B> <BR><B><FONT 
              face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; xor esi,esi</FONT></FONT></FONT></B> 
              <BR><B><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; xor edx,edx</FONT></FONT></FONT></B> 
              <BR><B><FONT face=Arial,Helvetica><FONT size=-1><FONT 
              color=#cccccc>&nbsp;&nbsp; </FONT><FONT color=#ffcc33>VxDCall 
              </FONT><FONT color=#cccccc>SHELL_Message</FONT></FONT></FONT></B> 
              <BR><B><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; ret</FONT></FONT></FONT></B> 
              <BR><B><FONT face=Arial,Helvetica><FONT size=-1><FONT 
              color=#ffcc33>EndProc </FONT><FONT 
              color=#cccccc>OnVMCreate</FONT></FONT></FONT></B></BLOCKQUOTE><FONT 
            face=Arial,Helvetica><FONT size=-1><FONT 
            color=#cccccc>我们用</FONT><B><FONT 
            color=#ffff99>BeginProc</FONT></B><FONT color=#cccccc>和 
            </FONT><B><FONT color=#ffff99>EndProc</FONT></B><FONT 
            color=#cccccc>宏来创建<B><FONT 
            color=#ffff99>OnVMCreate</FONT></B>。OnVMCreate函数把调用</FONT><B><FONT 
            color=#ffff99>SHELL_Message</FONT></B><FONT 
            color=#cccccc>服务所需要的参数放到寄存器里面去。因为我们要在系统虚拟机上显示消息框,所以不能使用ebx中的值(ebx包含了在创建的虚拟机的句柄,而我们要的是系统虚拟机的句柄)。于是,我们用另一个VMM服务,</FONT><B><FONT 
            color=#ffff99>Get_Sys_VM_Handle</FONT></B><FONT 
            color=#cccccc>来得到系统虚拟机的虚拟机句柄。我们分别把消息的地址和消息框标题的地址放在ecx和edi里面。我们不需要知道客户的反应,所以我们把esi和edx置零。当每个参数都在相应的寄存器内后,我们就调用</FONT><B><FONT 
            color=#ffff99> SHELL_Message </FONT></B><FONT 
            color=#cccccc>来显示消息框。</FONT></FONT></FONT> 
            <BLOCKQUOTE><B><FONT face=Arial,Helvetica><FONT size=-1><FONT 
              color=#ffcc33>BeginProc </FONT><FONT 
              color=#cccccc>OnVMClose</FONT></FONT></FONT></B> <BR><B><FONT 
              face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; mov ecx,OFFSET32 
              VMDestroyed</FONT></FONT></FONT></B> <BR><B><FONT 
              face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; jmp CommonCode</FONT></FONT></FONT></B> 
              <BR><B><FONT face=Arial,Helvetica><FONT size=-1><FONT 
              color=#ffcc33>EndProc</FONT><FONT color=#cccccc> 
              OnVMClose</FONT></FONT></FONT></B></BLOCKQUOTE><FONT 
            face=Arial,Helvetica><FONT size=-1><B><FONT 
            color=#ffff99>OnVMClose</FONT></B><FONT 
            color=#cccccc>OnVMClose函数本身是很简单的。因为它要使用的代码和</FONT><B><FONT 
            color=#ffff99>OnVMCreate</FONT></B><FONT 
            color=#cccccc>相同,所以它在用另一个消息的地址初始化ecx后,就转到</FONT><B><FONT 
            color=#ffff99>OnVMCreate</FONT></B><FONT 
            color=#cccccc>中的代码去了。</FONT></FONT></FONT> 
            <H3><FONT face=Arial,Helvetica><FONT color=#66ffff><FONT 
            size=+0>改变定义文件(.def)</FONT></FONT></FONT></H3>
            <BLOCKQUOTE><B><TT><FONT color=#cccccc><FONT size=-1>VxD 
              MESSAGE</FONT></FONT></TT></B><TT></TT> 
              <P><B><TT><FONT color=#cccccc><FONT 
              size=-1>SEGMENTS</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _LPTEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _LTEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _LDATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _TEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _DATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              CONST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _TLS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _BSS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'LCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              NONDISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _LMGTABLE&nbsp;&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; 
              PRELOAD NONDISCARDABLE IOPL</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _LMSGDATA&nbsp;&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; 
              PRELOAD NONDISCARDABLE IOPL</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _IMSGTABLE&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; PRELOAD 
              DISCARDABLE IOPL</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _IMSGDATA&nbsp;&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; 
              PRELOAD DISCARDABLE IOPL</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _ITEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'ICODE'&nbsp;&nbsp;&nbsp; DISCARDABLE</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _IDATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'ICODE'&nbsp;&nbsp;&nbsp; DISCARDABLE</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _PTEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'PCODE'&nbsp;&nbsp;&nbsp; NONDISCARDABLE</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _PMSGTABLE&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; 
              NONDISCARDABLE IOPL</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _PMSGDATA&nbsp;&nbsp;&nbsp; CLASS 'MCODE'&nbsp;&nbsp;&nbsp; 
              NONDISCARDABLE IOPL</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _PDATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'PDATA'&nbsp;&nbsp;&nbsp; NONDISCARDABLE 
              SHARED</FONT></FONT></TT></B> <BR><B><TT><FONT color=#cccccc><FONT 
              size=-1>&nbsp;&nbsp;&nbsp; 
              _STEXT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'SCODE'&nbsp;&nbsp;&nbsp; RESIDENT</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _SDATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'SCODE'&nbsp;&nbsp;&nbsp; RESIDENT</FONT></FONT></TT></B> 
              <BR><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _DBOSTART&nbsp;&nbsp;&nbsp; CLASS 'DBOCODE'&nbsp; PRELOAD 
              NONDISCARDABLE CONFORMING</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _DBOCODE&nbsp;&nbsp;&nbsp;&nbsp; CLASS 'DBOCODE'&nbsp; PRELOAD 
              NONDISCARDABLE CONFORMING</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _DBODATA&nbsp;&nbsp;&nbsp;&nbsp; CLASS 'DBOCODE'&nbsp; PRELOAD 
              NONDISCARDABLE CONFORMING</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _16ICODE&nbsp;&nbsp;&nbsp;&nbsp; CLASS '16ICODE'&nbsp; PRELOAD 
              DISCARDABLE</FONT></FONT></TT></B> <BR><B><TT><FONT 
              color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              _RCODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLASS 
              'RCODE'</FONT></FONT></TT></B><TT></TT> 
              <P><B><TT><FONT color=#cccccc><FONT 
              size=-1>EXPORTS</FONT></FONT></TT></B><TT></TT> 
              <P><B><TT><FONT color=#cccccc><FONT size=-1>&nbsp;&nbsp;&nbsp; 
              MESSAGE_DDB&nbsp; @1</FONT></FONT></TT></B></P></BLOCKQUOTE>
            <H3><FONT face=Arial,Helvetica><FONT color=#66ffff><FONT 
            size=+0>汇编过程:</FONT></FONT></FONT></H3><B><FONT 
            face=Arial,Helvetica><FONT color=#cccccc><FONT size=-1>&nbsp;ml 
            -coff -c -Cx&nbsp; -DMASM6 -DBLD_COFF -DIS_32 
            message.asm</FONT></FONT></FONT></B> 
            <P><B><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
            size=-1>&nbsp;link -VxD -def:message.def 
            message.obj</FONT></FONT></FONT></B> 
            <H3><FONT face=Arial,Helvetica><FONT color=#66ffff><FONT size=+0>VxD 
            的安装: 
            <LI><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
            size=-1>把message.VxD放到\system目录下。</FONT></FONT></FONT> 
            <LI><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
            size=-1>在system.ini文件里的[386enh]部分里加上如下的一行:</FONT></FONT></FONT> 
            <OL><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
              size=-1>device=message.VxD</FONT></FONT></FONT> </OL>
            <LI><FONT face=Arial,Helvetica><FONT color=#cccccc><FONT 
            size=-1>重启你的计算机。</FONT></FONT></FONT> 
            <H3><FONT face=Arial,Helvetica><FONT color=#66ffff><FONT 
            size=+0>测试这个VxD:</FONT></FONT></FONT></H3><FONT 
            face=Arial,Helvetica><FONT color=#cccccc><FONT 
            size=-1>打开一dos窗口,你会看到弹出的消息框,显示“A VM is 
            created."。当你关闭一个dos窗口,又会弹出一个消息框显示“A VM is 
            destroyed"。</FONT></FONT></FONT> 
            <BR></FONT></FONT></FONT></H3><BR></LI></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文档中心_VxD例程:消息框(Vxd教程5).files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你没有登陆,无法发表评论。 请先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=556">登陆</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文档中心_VxD例程:消息框(Vxd教程5).files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -