構建一個函數,使用了匯編語言啊,嘿嘿!
// -------------------開始-----------------------------------------
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,:正常運行',哈哈!