パソコン固有の情報(OSのライセンス番号など)をソフトで取得する方法を探しています。何らかのWindowsの関数を呼び出して、ソフト内の変数として記憶できればベストですが、OOというファイルの中を文字列検索して、と言った方法でもけっこうです。情報の内容もOSのライセンス番号に限らず、例えばマザーボードに振られたシリアルなどがもしもソフトで分かるのなら何でも構いません。装置特定できる方法が1つでは少し心もとないので出来るだけたくさんの情報を使いたいです。使用言語はVisual Cです。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2006/07/03 16:11:56
  • 終了:2006/07/10 16:15:02

回答(4件)

id:BrainCHAOS No.1

BrainCHAOS回答回数15ベストアンサー獲得回数02006/07/03 16:21:52

ポイント23pt

SIWというツールを僕は利用しています。これは各種設定値(ハードウェア&ソフトウェア OSなど)を見やすく表示し、HTMLに書き出してくれます。とても便利なツールで重宝しています。是非おためしください。

http://cowscorpion.com/system/SIW.html

id:ToMmY No.2

ToMmY回答回数656ベストアンサー獲得回数192006/07/03 16:49:46

ポイント23pt

MACアドレスは固有じゃなかったでしたっけ?

ipconfigの出力結果を取得して(方法はあるとおもいます)そのなかから該当部分を取得するとか、出来ると思います。

http://homepage2.nifty.com/sak/w_sak3/doc/syspc/vc_net05.htm

これもちょっとにた感じですがどうですかね、これで取得したデータをまとめてMD5化すれば大丈夫かと思いますが。

id:ohmix1 No.4

ohmix1回答回数235ベストアンサー獲得回数142006/07/03 23:25:54

ポイント22pt

0.コンピュータ名だけなら簡単

GetComputerName()/GetComputerNameEx()

http://www.ne.jp/asahi/yamashita/programming/tips/api_misc_faq.h...


1.レジストリからプロダクトID

インストール時のProductIDはレジストリから取得できます。


http://park21.wakwak.com/~ayacy/inasoft/rnsf7help_20050110/HLP00...


ただし、9x系とNT系OSでは場所が異なります。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProductId (Windows 9x系)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductId (Windows NT系)

企業導入の場合同じだったりして...



2.WIMからBIOS情報/システム情報(これオススメ)

WMI(Windows Management Instrumentation)を利用すれば、殆どのシステム情報にアクセスできます。(WSHのサンプル参照)

http://wmifun.atinfinity.net/sample/


たとえばBIOSのシリアルナンバーやマザーボードの型番なども取得できます。

※シリアルナンバーの設定されていないPCがあります。

http://www.microsoft.com/japan/technet/scriptcenter/scripts/hard...


C言語からの呼び出し例

http://www.dinop.com/vc/wmi_win32_bios.html


また、95/98/NT4には標準で組み込まれてませんので注意。

http://www.microsoft.com/downloads/details.aspx?FamilyID=afe41f4...


3.NETBIOS経由、MACアドレス

MACアドレスは(通常は)唯一の番号となり、NETBIOS APIで取得できます。

http://www.dinop.com/vc/getmac_netbios.html

ただし、LANカードのない場合や複数ある場合、差し替えタイプのものなども考慮する必要があるかも?


4.仮想マシンの判別

VMWareやVertualPC上のOS判別も必要?

http://www.codeproject.com/system/VmDetect.asp


上記から使えそうなものを選んでハッシュ値にするのでよいと思います。

http://www.codeproject.com/cpp/HashingCryptoAPI.asp


以上

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません