문제

WMI를 쿼리하면 물리적 드라이브의 CPU 식별자와 볼륨 일련 번호를 얻을 수 있다는 것을 알고 있지만 일반적으로 WMI에는 시간이 많이 걸립니다.이 정보를 검색하는 데 사용할 수 있는 더 빠른 옵션은 무엇입니까?이를 수행하는 Win32 API가 있습니까?

편집하다: 명확히하겠습니다.CPU 식별자란 다음 WMI 인스턴스 속성을 쿼리하여 얻는 것과 동일한 값을 의미합니다.

  • Win32_Processor::ProcessorId
  • Win32_LogicalDisk::VolumeSerialNumber
도움이 되었습니까?

해결책

CPU의 ID를 항상 사용할 수있는 것은 아닙니다.

그건 그렇고, 당신은 무엇을 성취하려고합니까? 컴퓨터 인스턴스에 대한 고유 키를 생성하려면 라이센스 목적으로 컴퓨터 용 고유 키 (지문) 생성 CodeProject의 Sowkot Osman에 의해 게시; 힌트를 줄 수 있습니다 (주석도 읽습니다).

다른 팁

CPU에 대해서는 확실하지 않지만 Windows 레지스트리에서 드라이브 정보를 쿼리할 수 있습니다.귀하의 질문은 이 SO q/a에서 해결된 것 같습니다(이 정보를 얻는 여러 가지 방법을 보여 주지만 속도를 위해서는 레지스트리에서 가져오는 것이 가장 좋습니다).

물리적 디스크를 나열하는 방법은 무엇입니까?

WMI는 실제로 레지스트리에서 데이터의 상당 부분을 차지합니다. 이 시스템은 시스템에 대한 많은 정보를 저장하며 응답하기가 매우 빠릅니다.

라이센스 이유로 마더 보드, CPU 및/또는 HDD에 고정하려면 다음 값을 확인하십시오.
HKLM Hardware Description System BIOS Baseboard Manufacturer
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
(사용중인 공습이있는 보드에만 해당 될 수 있음)

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.eggeadcafe.com/articles/20021019.asp

구글은 당신의 친구입니다 ;-)

좋아요 getsysteminfo 그러나 그것은 물리적 드라이브를 다루지 않습니다 ..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top