Определение приложения metro выполняется на вкладке Windows 8 или на настольном ПК
Я разрабатываю приложение с окном 8-метрового стиля. У этого приложения есть еще одна функция, если она работает на настольном ПК по сравнению с Tablet. Но моя проблема заключается в том, как обнаружить приложение на ПК или в Tab.
Я не хочу выпускать 2 сборки отдельно для ПК и TAB.
Пожалуйста, помогите мне.
Обновление: возможно ли сделать это с помощью GetSystemMatrics?
На рабочем столе наше приложение работает как клиент и сервер, но на вкладке и на мобильном устройстве он работает только как клиент
Ответы
Ответ 1
В пространстве имен Windows.Devices имеется множество сведений о возможностях устройства. Например, чтобы определить, включено ли сенсорное устройство, вы можете использовать:
var hasTouch = Windows.Devices.Input
.PointerDevice.GetPointerDevices()
.Any(p => p.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Touch);
Ответ 2
@Mahantesh: если это специально между настольным ПК и планшетным ПК (за исключением ноутбука), то вы можете проверить свойства батареи ", такие как питание от сети переменного тока/аккумулятора, оставшаяся батарея и т.д., которые до Я знаю, что доступны только для компьютеров, работающих от аккумулятора, и, конечно же, Desktop этого не делает.
Проще говоря, уведомление о батарее недоступно для моего настольного ПК, тогда как оно есть для моего ноутбука.
Ответ 3
Мое предложение состояло в том, чтобы обратиться к API GetSystemInfo в CoreDLL
Вот пример вызова:
[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, на которые я верю. Возможно, вам потребуется найти конкретный тип процессора, на который вы нацеливаетесь, или передать список целевых типов процессоров.