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)を使ってアプリ開発する際に逆引きとしてお使いください。