当前位置:编程学习 > C#/ASP.NET >>

如何判断当前程序是否运行在虚拟机上

--------------------编程问答-------------------- 没有人知道吗? --------------------编程问答-------------------- 虚拟机,虚拟出来的电脑和物理机器一样的环境,判断了有什么作用。 --------------------编程问答-------------------- C的代码要吗?
http://bbs.eyuyan.com/read.php?tid=173299
--------------------编程问答-------------------- http://bbs.pediy.com/showthread.php?t=119969  --------------------编程问答-------------------- 虚拟机和物理机是有区别的,那就是虚拟机中不能再运行虚拟机。

但是,没有一种可靠的方法可以判断程序是否运行在模拟器(比如Qemu、Bochs这样的软件)中。

因为模拟器完全可以仿真物理计算机。 --------------------编程问答--------------------
引用 5 楼 caozhy 的回复:
虚拟机和物理机是有区别的,那就是虚拟机中不能再运行虚拟机。

但是,没有一种可靠的方法可以判断程序是否运行在模拟器(比如Qemu、Bochs这样的软件)中。

因为模拟器完全可以仿真物理计算机。

我在VmWare中安装VPC,照样用啊 --------------------编程问答-------------------- --------------------编程问答--------------------

bool IsInsideVMWare()
{
    bool rc = true;
    __try
   {
        __asm
{
    push edx
    push ecx
    push ebx
    mov eax, 'VMXh'
    mov ebx, 0
    mov ecx, 10
    mov edx, 'VX'
    in eax, dx
    cmp ebx, 'VMXh'
    setz [rc]
    pop ebx
    pop ecx
    pop edx
}
    }
    __except(EXCEPTION_EXECUTE_HANDLER)
    {
rc = false;
    }
    return rc;
}
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,