none
请问如何在运行时检测是真机还是模拟器? RRS feed

  • 问题

  • 1.请问如何在运行时检测是真机还是模拟器?

    2.请问如何在编译时,通过宏来得知是ARM?还是X86?还是X64?

    类似这样

    #ifdef xxxx

    #endif

    2013年4月16日 23:58

答案

  • 关于第一个问题,看看能不能通过判断硬件设备ID的办法解决呢? 下面文档是如何获取硬件ID.

    http://stackoverflow.com/questions/10525889/can-i-uniquely-identify-a-device-in-winrt

    关于第二个问题看看下面的文章能不能解决

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.packageid.architecture.aspx


    windows phone & iPhone developer 我更喜欢Windows phone http://www.lizhecome.com

    2013年4月25日 1:57

全部回复

  • 版主很忙呀,我只有顶一下了
    2013年4月17日 10:12
  • 这个问题很着急啊,希望bob能帮帮忙,在运行时通过什么函数能知道是在模拟器中运行啊

    2013年4月18日 1:25
  • Hi,

    1.这个检测不到。不太明白,你为什么需要这个信息?

    2.如果你需要针对不同的平台进行编程,我推荐的方法是选择不同的平台单独编写一套代码。编译选项的话据我所知是没有,因为很多选项并没有公开文档。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年4月18日 9:45
    版主
  • 第一个问题,果然是无法检测,那就算了。

    第二个问题,我自己在工程设置里,对于不同的平台,添加了各自的预定义宏,这样就能#ifdef了

    还是多谢版主帮忙了,再有问题再来请教

    2013年4月18日 10:21
  • 关于第一个问题,看看能不能通过判断硬件设备ID的办法解决呢? 下面文档是如何获取硬件ID.

    http://stackoverflow.com/questions/10525889/can-i-uniquely-identify-a-device-in-winrt

    关于第二个问题看看下面的文章能不能解决

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.packageid.architecture.aspx


    windows phone & iPhone developer 我更喜欢Windows phone http://www.lizhecome.com

    2013年4月25日 1:57
  • 模拟器有一些限制,比如无法运行  await BackgroundExecutionManager.RequestAccessAsync();  这句 ,你可以试着看看是否有用。

    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2013年4月28日 2:21
    版主