単純なコピープロテクション目的のために、私は現在のコンピュータを一意に識別するために小さいstring
またはint
の値を生成したいと思います。理想的には、この値は単純なハードウェア周辺機器の変更後、またはWindowsを完全に再インストールした後でも変更されません。安定したマシンIDを得る方法**なし**管理者権限なし
ここや他の場所で見つかった答えのほとんどは、三つの主要な理由のために不十分である:
- 提示のコードはC#に簡単に移植できません。
- 推奨されるハードウェアの値は、プロセッサIDやハードドライブのシリアル番号など、使用できない/空の場合や、MACアドレスなどの不安定な場合があります。
- 関連するコードには管理者特権が必要です。
私はいくつかの記事を通じて検索で親切記事(How To Get Hardware Information)を見つけましたが、#3が、私の場合は重要な検討事項であることから、私はちょうど通常のユーザ権限で取得することができますどのようなハードウェア情報はわからないしています。
#2については、いくつかの異なる値を単に追加するのが最善の解決策ではないかと想像していますが、どちらの方法を使用しますか? C#コードが含まれている場合や、特にC#コードを指している場合は、何か助けてください。 :D
また、「一意のハードウェアID」に基づくすべてのコピープロテクションスキームが障害のために破棄されると付け加えたいと思います。 – NullUserException
@ NullUserExceptionఠ_ఠ - 私が読んだいくつかのスレッドは、MACアドレス(ここでは1つです)(http://stackoverflow.com/questions/3443093/what-is-a-good-unique-pc-identifier/ 3443149#3443149))、特に複数のNICを搭載したコンピュータでは(順序は任意です)。それが "失敗のために運命づけられた"(なぜなら、すべてのコピープロテクションがハック可能であるという事実を超えて)、なぜあなたが詳しく説明できますか?私は単にカジュアルコピーを制限しようとしています。つまり、ユーザーは自分のCDとキーを仲間に渡します。 – Jeremy