2009年1月21日水曜日

.NET(Mobile) デバイス プラットフォームを取得するには?(使えない!?)

Microsoftに方法 : デバイス プラットフォームを取得する方法があったので、ついでに試してみました。
Private Shared SPI_GETPLATFORMTYPE As System.UInt32 = 257

<DllImport("coredll.dll", EntryPoint:="SystemParametersInfo")> _
Friend Shared Function SystemParametersInfo _
(ByVal uiAction As System.UInt32, _
ByVal uiParam As System.UInt32, _
ByVal pvParam As System.Text.StringBuilder, _
ByVal fWinIni As System.UInt32) As Boolean
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Dim buffer As New System.Text.StringBuilder(200)
SystemParametersInfo(SPI_GETPLATFORMTYPE, 200, buffer, 0)
MessageBox.Show(buffer.ToString)
End Sub


結果は
W-ZERO3(WS007SH)、X04HTともに「POCKET PC」が返ります。


Windows Mobile 6.0では以下の3つのEditionがあります。
Windows Mobile 6 Professional Edition …比較的大型のタッチスクリーンを搭載し、必須ではないが、多くの場合、QWERTYキーボードを備える。
Windows Mobile 6 Standard Edition …Windows Smartphoneの後継で、タッチスクリーンを搭載しない
Windows Mobile 6 Classic …電話機能がないPPCデバイスの後継。


Windows Mobile 5.0では以下の3つのEditionがあります。
Windows Mobile 5.0 for Smartphon
Windows Mobile 5.0 for Pocket PC Phone Edition
Windows Mobile 5.0 for Pocket PC

Windows Mobile 6とWindows Mobile 5.0は以下のような対応になるようです。
Windows Mobile 6Windows Mobile 5.0
Professional EditionSmartphon
Standard EditionPocket PC Phone Edition
ClassicPocket PC



W-ZERO3はSmartPhoneが返ってきそうなのですが、Willcomが特殊で「POCKET PC」が返るそうです。
X04HTはWindowsMobile6.0以降はEditionにかかわらず、すべて「POCKET PC」が返るそうです。


つまり使えないってこと!?

0 件のコメント: