Retrieving System Information
得到指定的设备系统信息使你的程序能够在下面几个方面交付内容或改变功能:
· 连接设备上使用的处理器,当应用程序上传一个包含指定处理器的文件的CAB文件到设备上时。
注意 这项技术最常用的环境是当你发布应用程序到早期版本的Pocket PC设备上,例如基于ARM处理器的Windows Mobile设备。
· 运行在连接设备上的操作系统版本,根据处理器类型使用相应文件进行更新。
· 连接设备的电源状态,经常用于在使用者进入区域前,警告他们的设备运行于低电量状态下。
· 连接设备的内存状态,用于检测数据是否可以下载,如果用户下载了未被授权的应用程序或者其他内存相关函数,或者判断你是否有足够的空间安装应用程序的更新。
这部分操作的演示界面见图5。
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 292.5pt; HEIGHT: 178.5pt" type="#_x0000_t75" alt=""><img src="/Develop/ArticleImages/27/27155/CSDN_Dev_Image_2004-4-231744520.gif" o:href="http://msdn.microsoft.com/library/en-us/dnroad/html/road0324200405.gif"><font face="宋体"></font></shape>
Figure 5. The Device Information tab of the RAPI demo program
RAPI类提供了四个方法来得到这些信息,GetDeviceSystemInfo (处理器类型), GetDeviceVersion (操作系统版本), GetDeviceSystemPowerStatus (电源状态) 和 GetDeviceMemoryStatus (内存).
BtnInfoRetrieve按钮的点击事件示范了这些方法。
[VC#.NET]
private void btnInfoRetrieve_Click(object sender, System.EventArgs e)
{
string info;
MEMORYSTATUS ms;
SYSTEM_INFO si;
SYSTEM_POWER_STATUS_EX sps;
OSVERSIONINFO vi;
// Retrieve the system information.
myrapi.GetDeviceSystemInfo(out si);
// Retrieve the device OS version number.
myrapi.GetDeviceVersion(out vi);
// Retrieve the device power status.
myrapi.GetDeviceSystemPowerStatus(out sps);
// Retrieve the device memory status.
myrapi.GetDeviceMemoryStatus(out ms);
// Format the retrieved information.
info = "The connected device has an ";
switch (si.wProcessorArchitecture)
{
case ProcessorArchitecture.Intel:
info += "Intel processor.\n";
break;
case ProcessorArchitecture.MIPS:
info += "MIPS processor.\n";
break;
case ProcessorArchitecture.ARM:
info += "ARM processor.\n";
break;
default:
info = "unknown processor type.\n";
break;
}
info += "OS version: " + vi.dwMajorVersion + "." +
vi.dwMinorVersion + "." +
vi.dwBuildNumber + "\n";
if (sps.ACLineStatus == 1)
{
info += "On AC power: YES\n";
}
else
{
info += "On AC power: NO \n";
}
info += "Battery level: " + sps.BatteryLifePercent + "%\n";
info += "Total memory: " + String.Format("{0:###,###,###}",
ms.dwTotalPhys) +
"\n";
// Display the results.
lblInfo.Text = info;
}
[VB.NET]
Private Sub btnInfoRetrieve_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnInfoRetrieve.Click
Dim info As String
Dim ms As New MEMORYSTATUS
Dim si As New SYSTEM_INFO
Dim sps As New SYSTEM_POWER_STATUS_EX
Dim vi As New OSVERSIONINFO
' Retrieve the system information.
myrapi.GetDeviceSystemInfo(si)
' Retrieve the device OS version number.
myrapi.GetDeviceVersion(vi)
' Retrieve the device power status.
myrapi.GetDeviceSystemPowerStatus(sps)
' Retrieve the device memory status.
myrapi.GetDeviceMemoryStatus(ms)
' Format the retrieved information.
info = "The connected device has an "
Select Case si.wProcessorArchitecture
Case ProcessorArchitecture.Intel
info += "Intel processor." & vbCrLf
Case ProcessorArchitecture.MIPS
info += "MIPS processor." & vbCrLf
Case ProcessorArchitecture.ARM
info += "ARM processor." & vbCrLf
Case Else
info = "unknown processor type." & vbCrLf
End Select
info += "OS version: " & vi.dwMajorVersion & "." & vi.dwMinorVersion
& "." & vi.dwBuildNumber & vbCrLf
info += "On AC power: " & IIf(sps.ACLineStatus = 1, "YES", "NO")
& vbCrLf
info += "Battery level: " & sps.BatteryLifePercent & "%" & vbCrLf
info += "Total memory: " & String.Format("{0:###,###,###}",
ms.dwTotalPhys) & vbCrLf
' Display the results.
lblInfo.Text = info
End Sub
到这里我们如果将桌面应用程序加入到你的移动解决方案和关于Remote API的介绍就要告以段落了。我建议你花一些时间来检验OpenNETCF.Desktop.Communication命名空间提供的其他的功能。记住,那才是所有的操作,OpenNETCF命名空间为你的应用程序提供了多种类的操作。
Back on the Road
又是一个新的月份了。春天已经来到了每个角落,我要带着我的滑水板和Pocket PC前往阳光充足的Florida。在我的下一篇文章里,我们将检验关于移动开发者更多的操作。
相关推荐
Java EE 7与HTML5是现代企业级应用开发中的关键技术,它们的结合使得开发者能够构建出既适应桌面环境又能无缝支持移动设备的高性能应用程序。本文将深入探讨这两个技术领域,以及如何利用它们来创建动态且高效的企业...
本项目是一个“基于Java的桌面端GPA计算器”,它专为学生设计,帮助他们计算学术成绩的平均绩点(GPA)。GPA是衡量学生学术表现的重要指标,对于评估学生的学业成就和未来的升学或就业具有关键作用。通过这个计算器...
在IT领域,"远端桌面"是一个非常重要的概念,它允许用户通过网络连接到另一台计算机,以便进行远程控制和管理。"aaa.rar_远端桌面"可能是一个包含相关工具或教程的压缩文件,适用于初学者了解和学习远端桌面技术。 ...
"Linux上下传文件及桌面管理端"工具提供了这样的便利性,使得用户能够轻松地在本地和远程Linux系统之间移动文件,同时也方便了对Linux桌面环境的管理。下面我们将详细探讨相关的知识点。 1. **SSH(Secure Shell)*...
一旦连接建立,客户端可以实时地查看和控制服务器端的桌面,包括键盘输入、鼠标移动和屏幕显示等。这种功能使得远程支持、系统维护和故障排查等工作变得更为便捷。 实现这样的远程桌面监控系统,VC++作为编程语言起...
- 在本项目中,QT用于构建桌面端用户界面,提供交互式的文本输入、分类结果展示等功能。 - 使用QT Creator进行设计和开发,可以快速创建美观且响应迅速的应用程序。 3. **数据库**: - 文本分类系统通常需要存储...
### 县级海域动态监管系统--桌面端与移动端培训考试知识点详解 #### 一、桌面端知识点 **1. 浏览器选择** - **知识点:** 本系统的最佳浏览器支持。 - **详解:** 为了确保县级海域动态监管业务系统的正常运行及良好...
四、系统分析 * 可行性分析:在开发电脑桌面壁纸网站时,需要对网站的可行性进行分析,包括技术可行性、经济可行性、社会可行性等。 * 需求分析:需求分析是对网站的需求进行分析,包括功能需求、性能需求、安全...
本文主要探讨桌面版的RDP(Remote Desktop Protocol)远程桌面软件与安卓版RDP软件的区别,以及为何在电脑上远程连接服务器端虚拟机的视频播放效果优于安卓盒子。 首先,从开发语言的角度来看,桌面版的RDP软件通常...
在实现远程桌面时,我们首先要在服务器端创建一个屏幕捕获服务,这个服务能够定时截取远程计算机的屏幕图像并通过Remoting通道发送给客户端。同时,服务器端还需要处理客户端发送过来的控制指令,比如鼠标移动、点击...
### QGIS 3.28 桌面端用户手册知识点概述 #### 一、导言 - **QGIS 3.28 更新内容:** 介绍了QGIS 3.28版本的主要改进之处,包括新特性、修复的错误以及性能优化等。 #### 二、序言 - **QGIS简介:** 对QGIS...
3. **鼠标和键盘事件模拟**:主控端接收到用户的输入操作后,需要将这些事件转化为被控端可以理解的命令,如鼠标的移动、点击和键盘的按键。可以使用Windows消息机制(如SendMessage函数)来模拟这些操作。 4. **...
这个技术允许我们在计算机桌面的特定区域定义“热区”,当鼠标移动到这些区域时,会触发预设的事件或功能。这可以用于快速启动应用程序、打开文件夹、执行宏命令等,极大地提高了工作效率。 实现这一功能通常需要...
- **服务器端计算模式**:适合需要高性能计算的用户,所有的计算都在服务器端完成。 ##### 2. XenDesktop - **托管桌面交付模式**:用户的所有桌面资源都托管在数据中心,通过远程协议如ICA或RDP进行访问。 - **...
云桌面技术是现代信息技术中的一个重要领域,它将传统的桌面环境搬到云端,用户通过网络访问远程的计算资源,实现随时随地的工作和娱乐。这个压缩包提供的"云桌面 源码 界面 窗口"正是关于云桌面系统的核心组件——...
当连接建立后,服务器端会处理客户端发送的控制指令,如键盘输入、鼠标移动等,并将这些操作实时应用到远程计算机上。同时,服务器也需要不断将桌面的更新信息推送给客户端。 压缩包内的"远程桌面源码"可能包含了...
在IT行业中,数据同步是一个重要的概念,特别是在移动设备和桌面计算机之间。本项目"手机端与PC端数据同步实现!"旨在提供一个解决方案,使得用户在手机和PC间可以无缝地共享和更新信息,如同步联系人、日历事件、...
2. **智能云桌面**:这里的“云桌面”指的是将计算和存储资源集中在云端,用户通过网络访问虚拟桌面环境。这种模式可以提供灵活的工作空间,减少硬件维护成本,并便于集中管理。智能云桌面可能集成了各种IPTV功能,...
SBC(Server-Based Computing)则通过瘦客户端计算模式,将应用程序和数据运行在服务器端,客户端设备仅负责显示和输入,这不仅提高了数据处理的安全性,还有效降低了对客户端硬件的要求。华为的GSLB(Global Server...
在当今信息化社会,办公系统已经不再局限于传统的桌面计算机,而是逐渐向移动终端扩展,形成了一种全新的工作模式。本资料包“电信设备-一种基于计算机和移动终端上的办公系统.zip”深入探讨了这种融合了计算机与...