Как определить тип устройства Windows Mobile? - PullRequest
0 голосов
/ 09 марта 2009

У нас есть приложение для Windows Mobile, которое в настоящее время работает на устройствах Symbol (теперь Motorola). Мы используем SDK производителя для таких операций, как сканирование штрих-кода регистрации.

Теперь нам нужно настроить программное обеспечение для работы с устройствами Intermec.

У меня уже есть код сканирования, абстрагированный от интерфейса, поэтому все, что мне нужно сделать, это обернуть интерфейсы Intermec API за этим интерфейсом, а затем загрузить правильную версию для используемого устройства.

Однако у меня возникли трудности с определением типа устройства, на котором запущено программное обеспечение. Я мог бы просто попытаться загрузить код символа, а затем, если это не удалось, попробовать код Intermec, но это скорее мусор.

Кто-нибудь знает, как можно программно определить тип устройства?

Ответы [ 3 ]

2 голосов
/ 09 марта 2009

См. ссылку . Это поможет вам получить OEM информацию об устройстве.

0 голосов
/ 10 марта 2016

С http://www.christec.co.nz/blog/archives/77

Используйте код ниже и позвоните NativeMethods.GetOEMInfo()

private static class NativeMethods
{
  [DllImport("coredll.dll")]
  private static extern int SystemParametersInfo(uint uiAction, uint uiParam, StringBuilder pvParam, uint fWiniIni);

  private const uint SPI_GETPLATFORMTYPE = 257;
  private const uint SPI_GETOEMINFO = 258;

  private static string GetSystemParameter(uint uiParam)
  {
    StringBuilder sb = new StringBuilder(128);
    if (SystemParametersInfo(uiParam, (uint)sb.Capacity, sb, 0) == 0)
      throw new ApplicationException("Failed to get system parameter");
    return sb.ToString();
  }

  public static string GetOEMInfo()
  {
    return GetSystemParameter(SPI_GETOEMINFO);
  }

}
0 голосов
/ 01 апреля 2009

Это нативный код, но он работает для меня.

TCHAR buf[255];
SystemParametersInfo(SPI_GETOEMINFO, 255, &buf, NULL);

Затем просто проанализируйте буфер, чтобы выяснить, какое это устройство.

...