0

ソフトウェアにハードディスクIDを使用して、本物のユーザーがソフトウェアを使用しているかどうかを確認しています。IDEタイプのハードディスクの場合、GetIdeSerialNumberプロシージャを使用してIDを取得します。

ただし、SATAドライブの場合は、IDが空白になります。

次に、SATAドライブの場合、ボリュームIDを一意のIDとして使用しています。

ただし、システムがフォーマットされると、ボリュームIDは変更されます

ここで、使用しているハードドライブと、delphi 7でSATAドライブのハードディスクIDを取得する方法を知りたいですか?

編集:クライアントの仕様に応じたソフトウェアをハードウェアにロックする必要があります。関係するIDは次のとおりです。

  1. Macアドレス
  2. HD ID(SATAまたはIDE)
  3. コントローラID(これは、ソフトウェアが開発されたハードウェアを駆動するモーターであり、IDは一意です)

システムが変更された場合、クライアントは認証レイヤーが失敗することを認めましたが、ソフトウェアをハードウェアにロックするための準備が整っています。

SATAIDの取得方法を知りたかったのです

4

1 に答える 1

3

古いバージョンの Windows (95 および 98) はサポートされていませんが、ハード ドライブのシリアル番号を取得するにはWMIが最適です。

ボリューム シリアル番号を使用することをお勧めします。ハードウェアに依存しません。物理ハード ドライブではなく、Windows のインストールに関連付けられます。これは非常に理にかなっており、十分なはずです。

ユーザーが Windows を再インストールする場合やその他の復元状況では、ユーザーが再アクティブ化する必要があることに注意してください。そのため、ある程度の余裕を持たせる必要があります。これは、実装するのが最も難しい部分です。もちろん、それが複数の ID を使用する理由です。再アクティブ化を必要とせずに、すべてではなく 1 つ以上の変更を許可します。

于 2012-01-12T16:56:59.383 に答える