当前位置:主页>Delphi教程>文章内容
检测你的程序是否运行在虚拟机(VMware)
来源: 作者: 发布时间:2007-04-29  

//------------------------------------------------------------------

构建一个函数,使用了汇编语言啊,嘿嘿!

// -------------------开始-----------------------------------------

function IsVMwarePresent(): LongBool; stdcall

begin
  
Result := False;
 
{$IFDEF CPU386}
  
try
    asm
            
mov     eax, 564D5868h
            mov     ebx, 00000000h
            mov     ecx, 0000000Ah
            mov     edx, 00005658h
            in      eax, dx
            cmp     ebx, 564D5868h
            jne     @@exit
            mov     Result, True
    @@exit:
    end;
  
except
    
Result := False;
  end;
{$ENDIF}
end;

//------------------form http://blog.csdn.net/laoli----------------------------------------------------------

//---------------------------测试一下-----------------------------------------------------------------------------------

rocedure TForm1.FormCreate(Sender: TObject);
begin
 if  IsVMwarePresent then
     ShowMessage('你运行在虚拟机')

     else
      ShowMessage('正常运行')
      end;

//---------------------------------------------------------------------------------------------------------------------------

//----------------先保存---------按F9,运行,晕!有提示信息.不理!再按F9,:正常运行',哈哈!



 
上一篇:使用break与continue语句和for与continue语句   下一篇:OTA:使用本地IDE对象[D4]
 
  相关文章
·使用break与continue语句和for与contin
·OTA:使用本地IDE对象[D4]
·用Delphi开发DLL来代替8581协议控制和
·再谈后台调用外部程序的完美实现
·TChart使用经验小结
·关于TButton类型不能响应OnDBClick事件
·序列化FastReport
·DELPHI中数据文件路径的管理
·用FASTREPORT实现WEB应用中自定义报表
·在Firebird里如何防止空值扩散
·FastReport问题集
·Delphi----永不消逝的精灵
 
【关闭窗口】
推荐本站资源
最新文章