酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows ストア アプリを実行している端末の情報を取得する

Windowsストアアプリを実行している環境の製造したメーカー名や製品名などの端末情報を取得するには、Windows.Security.ExchangeActiveSyncProvisioning名前空間のEasClientDeviceInformationクラスを使用します。

メーカー名や製品名を取得するコード例を以下に示します。

|cs| // デバイス情報を取得する var deviceInfo = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();

// 製造メーカーを取得する
var manufacter = deviceInfo.SystemManufacturer;

// 製品名を取得する
var prodactName = deviceInfo.SystemProductName;

// OSの名前を取得する
var os = deviceInfo.OperatingSystem;

||<

iPhoneアプリやAndroidアプリをパラレルで開発している僕のメインマシンは「MacBook Pro with Retina Display」なのですが、Bootcampで導入したWindows 8では、上記のコードを実行しても端末情報を取得することはできませんでした(かろうじてOS名がWINDOWSであることは取得できました)。

** Microsoft Corporation Surface RT

@tmytさんにMicrosoft Surface RTで上記のコードを実行した場合、どのような値が取得できるのか試してもらったところ、以下のような値を取得することができたようです。

-SystemManufacturer (メーカー) --Microsoft -SystemProductName (製品名) --Surface with Windows RT -OperatingSystem (OS) --WINDOWS

** Microsoft Corporation Surface with Windows 8 Pro

Surface Proでは、以下のような値を取得することができました。

  • SystemManufacturer (メーカー) -- Microsoft Corporation
  • SystemProductName (製品名) -- Surface with Windows 8 Pro
  • OperatingSystem (OS) -- WINDOWS

** 追記 - ASUSTeK UX31E

@biacさんにASUS ZENBOOK UX31Eで試して頂きました。WindowsノートPCとして発売されているものであれば、この辺りの情報はそれなりに取得できそうですね。

-SystemManufacturer (メーカー) --ASUSTeK Computer Inc. -SystemProductName (製品名) --UX31E

** 追記(2014/1/21) - LENOVO Miix 2 8 (LENOVO 20326)

LenovoのMiix2 8で試してみました。

-SystemManufacturer (メーカー) --LENOVO -SystemProductName (製品名) --20326

** 注意点

ただし、「MacBook Pro with Retina Display」にBootcampで導入したWindows 8では、上記のコードを実行しても端末情報を取得することはできませんでした。必ずしもメーカー名や製品名が取得できるものとして考えない方が良いでしょう。

「SystemManufacturer」や「SystemProductName」の値は、Geekbench Browserを使えば、ある程度の値を取得することができそうです。

** 関連記事

Windows Runtime API(WinRT API)を使ってアプリ開発する際に逆引きとしてお使いください。