CPU IDとドライブ/ボリュームシリアルを取得するためのC#のAPI

StackOverflow https://stackoverflow.com/questions/248305

  •  05-07-2019
  •  | 
  •  

質問

WMIを照会することで、物理ドライブのCPU識別子とボリュームシリアル番号を取得できることは承知していますが、WMIには通常甘い時間がかかります。この情報を取得するために利用できる他の高速なオプションがあれば、それは何ですか?これを実現するWin32 APIはありますか?

編集:明確にしてください。 CPU識別子によって、次のWMIインスタンスプロパティを照会することで取得する値と同じ値を参照しています。

  • Win32_Processor :: ProcessorId
  • Win32_LogicalDisk :: VolumeSerialNumber
役に立ちましたか?

解決

CPUのIDは常に利用できるとは限らないことに注意してください。

ところで、何を達成しようとしていますか?コンピューターインスタンスの一意のキーを生成する場合は、一意のキーの生成(フィンガーSowkot OsmanがCodeprojectに投稿した、ライセンス目的のコンピューター用の印刷物。ヒントを提供できます(コメントも読んでください)。

他のヒント

WMIは、実際にデータの大部分をレジストリから取得します。システムはシステムに関する多くの情報をそこに保存し、明らかに非常に迅速に応答します。

ライセンス上の理由でマザーボード、CPU、HDDをロックする場合は、次の値を確認してください。
HKLM \ HARDWARE \ DESCRIPTION \ System \ BIOS \ BaseBoardManufacturer
HKLM \ HARDWARE \ DESCRIPTION \ System \ BIOS \ BaseBoardProduct
HKLM \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0 \ Identifier
HKLM \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0 \ ProcessorNameString
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ DigitalProductId
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProductId
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ BuildLabEx
HKLM \ HARDWARE \ DESCRIPTION \ System \ MultifunctionAdapter \ 0 \ DiskController \ 0 \ DiskPeripheral \ 0
(使用中のRAIDを搭載したボードに固有の場合があります)

WMIなしでディスクシリアルを取得する場合は、物理ドライブデバイスにDeviceIoControl呼び出しを発行します。 VB.NETのサンプルコード: http://www.dreamincode.net/code/snippet429.htm

CPUIDについては、これを試してください: http:// devpinoy .org / blogs / cvega / archive / 2006/04/07 / 2658.aspx

ボリュームシリアル番号については、 http://www.eggheadcafe.com/articlesを試してください。 /20021019.asp

Googleはあなたの友達です;-)

GetSystemInfo が好きですが、そうではありません物理ドライブは対象外です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top