设为首页 收藏本站
查看: 691|回复: 0

Windows Phone 7 系统信息获取示例

[复制链接]

尚未签到

发表于 2015-5-9 14:59:22 | 显示全部楼层 |阅读模式
  假设你现在需要从WP7手机上获取一些系统信息,以便确认当前系统是否满足游戏或应用程序的最小硬件需求。轩辕在将给各位演示下实现这个功能有多么的简单。因为轩辕目前还没有拿到WP7手机,所以这篇文章将在模拟器上展开系统信息获取的实现。
  
下面是我们的示例将要获取的系统信息:
  
  设备厂商
设备名称
设备ID
固件版本
硬件版本
总内存
应用程序当前使用内存
应用程序使用内存峰值

  
在下面这个示例中,轩辕将使用DispatcherTimer计时器每三秒获取一些系统信息,标将上面的列出的信息在8个textblock控件中展现出来。下面为应用程序的展现截图:
  
DSC0000.jpg
  
  下面是XAML的代码:
  



   
        
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
        
   
  
  接下来让我们写一些代码来获取系统信息。首先我们需要创建一个DispatcherTimer计时器对象。
  


DispatcherTimer timer;
  
  在使用DispatcherTimer对象时你需要在项目中引用System.Windows.Threading这个命名空间。
  
  接下来我们需要声明一个字符串变量以展现Device ID。
  


public static string val;
  因为通过系统函数返回的Device ID是以Byte类型返回的,所有我们需要将Device ID转化为字符串类型进行呈现。
  


public static byte[] GetDeviceUniqueID()
{
   byte[] result = null;
   object uniqueId;
   if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
   {
       result = (byte[])uniqueId;
   }
   val=Convert.ToBase64String(result);
   return result;
}
  
  完成上面的步骤后,我们就需要在页面的构造函数中启动计时器,以便定时获取设备系统信息了。下面是构造函数中的部分代码:
  


timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 3);
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
GetDeviceUniqueID();      
  下面是计时器的定时程序:
  


void timer_Tick(object sender, EventArgs e)
{
  try
   {     
    textBlock2.Text = DeviceExtendedProperties.GetValue("DeviceManufacturer").ToString();
    textBlock4.Text = DeviceExtendedProperties.GetValue("DeviceName").ToString();
    textBlock6.Text = val;
    textBlock8.Text = DeviceExtendedProperties.GetValue("DeviceFirmwareVersion").ToString();
    textBlock10.Text = DeviceExtendedProperties.GetValue("DeviceHardwareVersion").ToString();
    textBlock12.Text = DeviceExtendedProperties.GetValue("DeviceTotalMemory").ToString();
    textBlock14.Text = DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage").ToString();
    textBlock16.Text = DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage").ToString();               
   }
   catch (Exception ex)
   {
      //
   }
}
  
  我们可以使用DeviceExtendedProperties这个类来获取WP7设备的系统属性,关于该类的更多信息你可以参考MSDN的相关文档,地址如下:
  http://msdn.microsoft.com/en-us/library/ff941122(v=VS.92).aspx
  
  在模拟器中启动程序后,我们就可以看到文章最上面的系统信息显示了。因为我们使用的是模拟器,所有Device ID是并不是一个真实的硬件唯一标识。如果在WP7真机上运行该程序,那么Device ID、硬件版本、固件版本都会是真实值。尝试下吧.............
  
  应用程序下载

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65300-1-1.html 上篇帖子: Windows Phone 7 不温不火学习之《Control Toolkit--静态和动态的ContextMenu》 下篇帖子: CES2011: Windows Phone 7 一月更新官方页面现身,新特性预览
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表