2009-03-09 8 views
0

Symbol(現在はMotorola)デバイスで動作しているWindows Mobileアプリケーションがあります。バーコードスキャンの登録などの作業を行うために、製造元のSDKを使用しています。Windows Mobileデバイスの種類を確認する方法は?

ソフトウェアをIntermecデバイスで使用できるようにする必要があります。

すでにスキャンコードがインターフェイスの背後に抽象化されているので、Intermec APIをそのインターフェイスの後ろにラップし、使用しているデバイスの正しいバージョンを読み込むだけです。

しかし、私はソフトウェアが動作しているデバイスの種類を調べるのにいくつかの困難を抱えています。 Symbolコードをロードしようとすると、Intermecコードを試しても失敗する場合がありますが、それはむしろごみです。

どのように私はデバイスの種類をプログラムで解決することができます知っていますか?

答えて

2

これを参照してくださいlink。それはあなたがデバイスのOEM情報を取得するのに役立ちます。

+0

感謝を呼び出し、私がいることを試してみると、それが助けかどうかを確認します。 –

+0

優秀、少なくとも私と働くことを与えるようです。 –

-1

これはネイティブコードですが、それは私のために働きます。

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

次に、どのデバイスであるか把握するためにバッファを解析します。 http://www.christec.co.nz/blog/archives/77

から

+0

origianlの質問はNetCFで明確にタグ付けされているので、これ以上のコードがなければ動作しません。それでも、返される可能性のあるマスターリストがないかぎり、どのタイプのデバイスであるかはわかりません。 – ctacke

0

は、以下のコードを使用して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); 
    } 

} 
関連する問題