0

ifWindows モバイル スマート デバイスから OEM 番号を取得しており、戻り値をステートメントで使用する方法を見つけようとしています。

以下は、値を返すために使用するコードです。OEM 番号が常に 86.09.0008 であることを確認したいのですが、そうでない場合はお知らせください。

class oem
{
    const string OEM_VERSION = "OEMVersion";
    private const int SPI_GETOEMINFO = 258;
    private const int MAX_OEM_NAME_LENGTH = 128;
    private const int WCHAR_SIZE = 2;

    [DllImport("coreDLL.dll")]
    public static extern int SystemParametersInfo(int uiAction, int uiParam, string pBuf, int fWinIni);

    [DllImport("CAD.dll")]
    public static extern int CAD_GetOemVersionNumber(ref System.UInt16 lpwMajor, ref System.UInt16 lpwMinor);

    public string getOEMVersion()
    {
        System.UInt16 nMajor = 0;
        System.UInt16 nMinor = 0;
        uint nBuild = 0;

        int status = CAD_GetOemVersionNumber(ref nMajor, ref nMinor);

        if (((System.Convert.ToBoolean(status))))
        {
            string sMajor = String.Format("{0:00}", nMajor); //in 2-digits
            string sMinor = String.Format("{0:00}", nMinor); //in 2-digits
            string sBuild = String.Format("{0:0000}", nBuild); //in 4-digits

            return (sMajor + "." + sMinor + "." + sBuild);
        }
        else // failed
        {
            return ("00.00.0000");
        }

私はメインフォームからこれを次のように呼び出しています:

label1.Text = oemver.getOEMVersion();
4

5 に答える 5

2

if ステートメントにはブール値が必要です。あなたの場合、必要な値と取得した値を比較する必要があります

if(status == 86.09.0009)//...

等しいかどうかをチェックする演算子である二重の「==」に注意してください。これを、代入を実行する単一の「=」と比較してください。

intまた、小数を許可しないことに注意してください。この数値には 2 つの小数があることを考えると、これを文字列として取得する必要があると思います。

于 2013-03-20T13:09:01.827 に答える
0

さて、あなたの「メイン」でこのようなことをしてください:

string myString = getOEMVersion();
if(myString == "86.09.0009")
{//Whatever you're willing to do
}
于 2013-03-20T13:07:09.237 に答える
0

私があなたの質問を理解したなら、あなたはこれをすべきです:

oem someOem = new oem();
if (oem.getOEMVersion() == "86.09.0009") {
     // ok
} else {
     // fail
}
于 2013-03-20T13:07:36.957 に答える
0

GetOEMVersion意味がわかりませんが、if ステートメントでメソッドの結果を使用したいという質問を理解している場合。

string OEMVersion = getOEMVersion();
if(OEMVersion == "86.09.0009")
{
   // Do something
}
else
{
   // fail
}
于 2013-03-20T13:12:25.440 に答える
0

あなたが行方不明です:

[DllImport("CAD.dll")]
public static extern int CAD_GetOemBuildNumber(ref uint lpdwBuild);


int build = CAD_GetOemBuildNumber(ref nBuild);

ビルドを取得します。

于 2013-05-16T22:14:06.167 に答える