3

私は vc++ 言語を初めて使用するので、vc++ 言語を使用してシステムの一意の ID を取得したいと考えています。システムの一意のIDを取得する方法をコーディングするのを手伝ってくれる人はいますか?

4

6 に答える 6

2

ネットワーク カードの MAC アドレスを使用しないのはなぜですか。これは一意である必要がありますが、ネットワーク カードを変更すると変更されます。

API GetAdaptersInfo を参照してください。参照 http://msdn.microsoft.com/en-us/library/aa365917(VS.85).aspx

于 2009-07-31T13:13:17.413 に答える
2

見たいCoCreateGuid( http://msdn.microsoft.com/en-us/library/ms688568(VS.85).aspx )。

于 2009-07-31T10:34:00.733 に答える
1

特定のマシンに基づいて一意の ID を作成しようとしている場合、私が考えることができる方法の 1 つは、古き良きブーストを使用することです。

たとえば、UUID (GUID 生成) と呼ばれるブースト候補ライブラリの 1 つを検索でき、boost::filesystem を検索できます。ファイルシステムを使用すると、一部のシステム ファイルの作成日を取得し、それらの文字列を使用して GUID を生成できます。

ほんの一例ですが、参考になれば幸いです

于 2009-07-31T13:38:41.077 に答える
0

これまでの回答とそれに対する回答が示していると思いますが、本当の回答は、一意のシステム ID を必要とするコードを記述しないことです。これは非常に簡単に実行できます。実際、(そのような ID がないため) アプリケーションを作成する唯一の賢明な方法です。ドライブのシリアル番号、MAC アドレスなどに依存するものは、システムが変更またはアップグレードされると、必然的に壊れます。

于 2009-07-31T14:10:54.327 に答える
0

私が見た値の 1 つは、C ドライブのハード ディスク ボリューム ID です。ただし、ドライブを交換すると変更されます。

于 2009-07-31T13:40:32.853 に答える