我现在要做一个笔记本和台式机用的程序,由于要求代码统一,所以在变量中设置了一个标志以表明现在用的机器类型,虽然通过条件编译可以轻松实现,但是这样一来每次程序修改之后都得编译两次,次数多了很容易出错,我想在程序中判断所用的机器是不是笔记本,不知道系统API中有没有这样的函数,还是有其他的办法,请各位高手指点

解决方案 »

  1.   

    我给你UP一下------------------------------------------------------------------
    个人专栏:http://www.csdn.net/develop/author/netauthor/lihonggen0/
    ------------------------------------------------------------------
      

  2.   

    这个的确是很难,即使对操作系统本身来说,它只认识它支持的硬件指令集,比如我们常见的X86或是MIPS,而对WIN32API来说,上面的东东又都是透明的,对编译性语言来说,跨硬件平台是源码级兼容,也就是说,只要把源码在新的平台上重新按这个平台的指令编译一下即可;对于解释性语言,比如VB,我们的应用程序不用做任何变动就可以执行,只要VB的VM可以运行
    我说上面这些内容的目的就是说,除非硬件本身提供了可供明显辨识的标记,而且要在操作系统支持的情况下,我们才有可能获得这方面的信息,不过很遗憾,在Windows下还没发现的这样的API,而现在很多东东,比如CPU,台式的都用在笔记本上了,所以判断的困难很大,
    你还是得继续你的条件编译
      

  3.   

    通过主板bios判断吧,好像笔记本的主板和台式机的不一样。而且,似乎就这个能有所不同。