[18347]  DOS/Vとの機種判別について
投稿者:たまき さん   2002-03-16 12:44:56
DOS/VとPC-98xxの機種判別をWindows95系/NT系で行いたいのですが、
どこを確認すればよいかご存知の方おりませんでしょうか。

int 10h を実行した場合の返り値を見るとよいとの話を聞いたのですが、
NT系では不正処理となってしまうために使うことが出来ません・・。

なにか、きちんとした判別体系をご存知の方がいましたら、お願いします。
  1. さんぽ さん   2002-03-16 13:48:31
     レジストリエディタで、"PC-98"を検索してみてはいかが?

     Win95系ではどうなのかわからないのですが、
    HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemIdentifier
     これなんか使えそうです。
  2. たまき さん   2002-03-16 14:00:10
    さんぽさん、ありがとうございます。私の持っているWin2000では
    たしかにそこに"NEC PC-98"の文字があります。
    2000に関しては、そこで判別できそうですね。
    この場所は、システムプロパティで表示される内容とリンクしています。

    また、私はNTを持っていないのですが、
    同じ位置に収められているのでしょうか・・?

    もしもNT系、もしくは95/98を使っている人がいましたら、
    情報いただけると助かります(^^;
  3. CE9A さん   2002-03-16 16:09:28
    Win95/NT4.0環境は現在用意していないので、98SEのレジストリを調べてみた結果だけ。

    残念ながら、その2000と同じキーはありませんでした。
    代わりといっては何ですが、デバイスマネージャーとリンクしている "HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClass"以下にPC-98という文字列がちらほら。この中のどれかが使えるのではないかと思います。

    #誤記があったので、書き直しました。
  4. くん さん   2002-03-16 16:36:16
    ちょっとインチキかもしれませんが、自分の場合は
    Win32APIのGetKeyboardType()に引数1を渡した時の戻り値で、
    0x0D01h〜0x0D06hだったらPC98と判断しています(^^;)
    (0x0000h..0x0004hでAT互換機、0x0441hでEpson互換機といった感じで…)
    PC9801/21/21ノートではちゃんと判別できています。
    ただし、多分PC9821でUSBキーボードを使われたらだめなんじゃないかなと思います(^^;)
  5. たまき さん   2002-03-16 16:49:21
    CE9Aさん、くんさん、ありがとうございます。
    >PC-98という文字列がちらほら
    そうですか〜。googleでそのレジストリを検索してみたのですが、
    特定できるものではないようですね・・。残念。。
    しかし、情報ありがとうございます。

    >Win32APIのGetKeyboardType()に引数1を渡した時の戻り値
    なるほど、キーボードですか〜。
    しかし、USB機器の場合もあるんですよね。
    ほとんどのユーザはそのまま使ってるでしょうけども・・。

    むしろ、Cバスがあるかどうかが取得できれば、
    間違いない方法だと今思ったのですが、取得できないですかねぇ〜(^-^;
  6. にょ さん   2002-03-18 01:05:30
    >むしろ、Cバスがあるかどうかが取得できれば、
    うちのWin98SEだと、以下のようなキーがありました。
    "HKEY_LOCAL_MACHINEEnumC98PNP"