• 締切済み

機種名を取得したい

Windows2000 上で、機種名を取得したいんです。対象機はNEC/NX シリーズなんです が、VC++6.0 のAPIか何かで、取得する方法をご存知ないでしょうか。 ※尚、機種名は、 『 システム 』『 システム管理 』→ 『 システム情報 』→ 『 システム概要 』 →『 システムモデル 』上で見ることができます。  なにとぞお知恵をお貸しください。よろしくお願いします。

みんなの回答

  • haporun
  • ベストアンサー率40% (230/562)
回答No.1

違ったらごめんなさい。 機種名というのはコンピュータ名のことでしょうか。 それでしたら、MSDNライブラリに載ってましたけど。 おまけに変えられる関数も。 --------------------------------------- GetComputerName コンピュータ名を取得します。 BOOL GetComputerName( LPTSTR lpBuffer, // address of name buffer LPDWORD nSize // address of size of name buffer ); パラメータ lpBuffer バッファへのポインタを指定します。このバッファに、コンピュータ名が NULL で終わる文字列として格納されます。 nSize バッファのサイズが入った DWORD 型変数へのポインタを指定します。バッファのサイズは、MAX_COMPUTERNAME_LENGTH + 1 以上にしてください。 戻り値 関数が成功すると、0 以外の値が返ります。また、lpBuffer パラメータに格納された文字数が、nSize パラメータが指す変数に格納されます (終端の NULL 文字は除く) 。 関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、GetLastError 関数を使います。 対応情報 Windows NT: バージョン 3.1 以降 Windows: Windows 95 以降 Windows CE: 対応していません ヘッダ : winbase.h 内で宣言 インポート ライブラリ : kernel32.lib を使用 参照 SetComputerName --------------------------------------- SetComputerName コンピュータ名を設定します。次回の起動時から有効になります。 BOOL SetComputerName( LPCTSTR lpComputerName// 新しいコンピュータ名へのポインタ ); パラメータ lpComputerName 新しいコンピュータ名が入ったNULLで終わる文字列へのポインタを指定します。最大長は、MAX_COMPUTERNAME_LENGTHです。次回の起動時から有効になります。 Windows 95:指定した名前が標準の文字セット外の文字を含んでいると、それらの文字は標準の文字に文字化けします。 Windows NT:指定した名前が標準の文字セット外の文字を含んでいると、この関数は、ERROR_INVALID_PARAMETERを返します。 標準の文字セットは、文字と数字、および、次の記号を含んでいます。 ! @ # $ % ^ & ' ) ( . - _ { } ~ . 戻り値 関数が成功すると、0以外の値が返ります。 関数が失敗すると、0が返ります。拡張エラー情報を取得するには、GetLastError関数を使います。 解説 この関数を使うアプリケーションは、システム管理者の権利を持っていなければなりません。 対応情報 Windows NT:○ Windows 95:○ 参照 GetComputerName ---------------------------------------

yasu
質問者

お礼

お礼が大変遅れてしまいました。 ありがとうございす。 正確に言うと、PC-98のなにがし、という機種名を 取得したかったのです。 例えば、PC98NX Lavie DAF13 とか、Aile16C とかNEC 特有の機種名です。 これがなかなか難しいのですが、なんとか解決できそう です。 ご丁寧に回答してくださって、その気持ちに心から感謝 いたします。