我正在使用Windows 8 metro风格开发应用程序。如果它在平板电脑上运行,与平板电脑相比,此应用程序还有一些功能。但我的问题是如何检测app在PC或Tab中运行。 我不想单独为PC和TAB发布2版本。
请帮帮我。 更新:Wheter是否可以使用GetSystemMatrics进行更新? 在桌面上,我们的应用程序的行为类似于客户端和服务器,但在选项卡和移动设备中,它的行为类似于客户端
答案 0 :(得分:7)
Windows.Devices命名空间具有大量有关设备功能的信息。例如,要确定设备是否启用了触摸,您可以使用:
var hasTouch = Windows.Devices.Input
.PointerDevice.GetPointerDevices()
.Any(p => p.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Touch);
答案 1 :(得分:5)
@Mahantesh:如果是专门用于台式电脑和电脑之间的话。平板电脑(不包括笔记本电脑),然后你可以查看“电池属性”,如AC /电池供电,电池剩余电量等。据我所知,仅适用于使用电池供电的电脑当然桌面不会这样做。
简单来说,我的台式电脑无法使用电池通知,而我的笔记本电脑则没有。
答案 2 :(得分:0)
我的建议是调用CoreDLL中的GetSystemInfo API
以下是一个示例电话:
[DllImport("coredll")]
static extern void GetSystemInfo(ref SYSTEM_INFO pSI);
public struct SYSTEM_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}
如果从平板电脑中获取此信息,它应返回2577的处理器类型,因为它在我认为的ARM处理器上运行。您可能需要找到要定位的特定处理器类型,或者传入目标处理器类型列表。