zoukankan      html  css  js  c++  java
  • 【WIN10】判斷程序運行在哪個平台

    其中的一個方法是:

    string x = AnalyticsInfo.VersionInfo.DeviceFamily;

    判斷 x  的值,有”Windows.Mobile“,”Windows.Desktop“。我沒有XBOX設備,所以並不清楚XBOX下會得到什麼值。

    當我看到返回值類型是string時,我就覺得微軟在扯淡了~~~~因為哪天微軟把這個字符串一修改,我就得修改我的軟件了~~~為毛不用枚舉~~

    注意:PADPC都會得到Windows.Desktop。

    就是說,如果使用這種方法,你無法判斷到底是不是運行在”移動端“。因為PAD也屬於移動端設備。

    這個時候,我們需要第二個接口,獲取用戶的交互模式。

    微軟提供了兩種用戶交互模式:鼠標、觸摸。

     

    我寫了一個判斷是否運行在移動端的函數:

    public static bool IsRunningOnMobile()
    {
    return UIViewSettings.GetForCurrentView().UserInteractionMode == UserInteractionMode.Touch;
    }

    UserInteractionMode 有兩種模式,TouchMouse.

    我測試了,在三種設備中得到的 DeviceFamily 與 UserInteractionMode,發現得到結果如下:

      PC PAD MOBILE
    DeviceFamily Windows.Destop Windows.Destop Windows.Mobile
    UserInteractionMode Mouse Touch Touch

     

     

     

    測試PC與PAD很簡單,你不需要提供一個PC和一個PAD,按下面圖的方式操作,即可達到二者的切換:

     

    最後得出的結論是,你只需要去判斷交互模式就可以了。因為你得到 Desktop 是沒有什麼用處的,交互模式才是最重要的。。

    不過我還是沒有XBOX設備,不知道在XBOX上面會有什麼表現。

     

    [END]

  • 相关阅读:
    第14周周总结
    第13周周总结
    栈与队列
    前端继承方式汇总
    实现前端资源增量式更新的一种思路
    link和@import引入外部样式的区别
    webSocket
    Java 下载JDK账号
    穿透
    vue.set方法的使用
  • 原文地址:https://www.cnblogs.com/lin277541/p/4925311.html
Copyright © 2011-2022 走看看