하드 드라이브, CD/DVD/블루 레이 리더, 플로피 그리고 USB가 가능한지에 대한 정보를 얻으면서 CPU의 하드웨어 정보를 얻는 것이 다소 멍청한 느낌입니다. 나는 MSDN GetDriveType을보고 있었지만 검색이 안 좋거나 이해가 안되는 것 같습니다. 어떤 생각?특정 드라이브의 유형을 어떻게 결정합니까?
답변
난 당신이에 링크 된 문서에 대해 이해하지 못했다 모르겠어요 ...
기능에 의해 허용 유일한 인수는 포함에 대한 정보를 (취득 할 드라이브의 루트 디렉토리입니다 후행 백 슬래시). 이 함수는 어떤 유형의 드라이브인지 나타내는 값을 반환합니다. 가능한 반환 값과 각각의 의미를 제공하는 차트가 표시됩니다. 예를 들어
:
GetDriveType(_T("C:\\")) // returns DRIVE_FIXED if C:\ is my hard drive
GetDriveType(_T("A:\\")) // returns DRIVE_REMOVABLE if A:\ is my floppy drive
GetDriveType(_T("D:\\")) // returns DRIVE_CDROM if D:\ is a CD-ROM drive
GetDriveType(_T("N:\\")) // returns DRIVE_REMOTE if N:\ is a network drive
그것은 또한 당신이 드라이브는 USB 타입의 구동 여부를 확인하려는 경우, 당신은 SetupDiGetDeviceRegistryProperty
function를 호출하고 SPDRP_REMOVAL_POLICY
속성을 지정할 필요가 있다고 말한다.
.h (헤더) 파일은 GetDrivePath입니까? 필요한 경우. – Kazuma
@Kazuma : 모든 정보는 MSDN의 각 문서 페이지 맨 아래에 있습니다. 이 경우 "WinBase.h (Windows.h 포함)"라고 표시됩니다. 즉,'WinBase.h'에 정의되어 있음을 의미합니다. 그러나 당신은 자신을 포함시키지 않아야합니다. 이미'Windows.h'가 포함되어 있어야하므로 다른 것을 할 필요가 없습니다. –
예, 예를 들어 GetDrivePath()를 할 때 "오류 : 식별자"GetDrivePath "가 정의되지 않았습니다." 하지만 난 Windows.h – Kazuma
해당 정보가있는 Windows 용으로 알고있는 유일한 올인원 API는 WMI이지만 사용할 수있는 것은 그리 간단하지 않습니다. 반면에 많은 프로그램은 패스 스루 제어 코드 또는 SMART_RCV_DRIVE_DATA과 같은 I/O 제어 코드를 사용하여 장치와 직접 통신합니다.
당신이 장치가 USB 장치임을 판단 할 경우 (내가 어떻게 Speccy 작품 모르겠지만, 내가 추측하고있어 필요한 시스템 정보를 얻을 수 있습니다. 이러한 방법의 조합을 사용) 핸들을 열고 DeviceIoControl()을 사용하여 IOCTL 쿼리를 보내 장치가 연결된 버스 유형을 가져올 수 있습니다.
EnumUsbDrivesLetters - 게시물은 러시아어이지만 C++ 소스 코드가 포함되어있어 쉽게 이해할 수 있습니다.
건배, 안드리
이것은이 질문에 대한 유효한 답변이거나 최소한 (비록 늦게 게시 한 경우에도) 다소 도움이되는 것으로 보입니다. 자신의 블로그에 대한 링크를 조심스럽게 게시하십시오. 아무 문제가 없으므로이를 언급하는 것을 잊지 마십시오. 따라서 홍보용 스팸으로 간주되지 않습니다. – slugster
- 1. JavaScript에서 HTML 요소의 유형을 어떻게 결정합니까?
- 2. SharePoint 2010 사이트의 사이트 유형을 어떻게 결정합니까?
- 3. 드라이브의 공간/크기를 프로그래밍 방식으로 어떻게 결정합니까? LInux와 Windows 모두에서
- 4. EWS가있는 특정 항목이나 폴더가있는 사서함을 어떻게 결정합니까?
- 5. Entity Framework 4에서 상속을 사용하여 엔티티의 하위 유형을 어떻게 결정합니까?
- 6. QTextDocument의 높이를 어떻게 결정합니까?
- 7. jQuery를 사용하여 이벤트에서 HTML 입력 요소 유형을 어떻게 결정합니까?
- 8. 부스트가있는 주어진 배열 유형의 첨자 연산자의 반환 유형을 어떻게 결정합니까?
- 9. 무엇이 Windows 7의 사용자 유형을 결정합니까?
- 10. USB 드라이브의 특정 주소에 액세스하는 방법
- 11. 특정 유형을 반환하는 템플릿
- 12. MVC에서 컨트롤러를 어떻게 결정합니까?
- 13. 전송 속도를 어떻게 결정합니까?
- 14. 어떻게 자녀의 순위를 결정합니까?
- 15. 이미지로드가 완료되면 어떻게 결정합니까?
- 16. pyodbc는 인코딩을 어떻게 결정합니까?
- 17. 테이블이 생성되었는지 어떻게 결정합니까?
- 18. 유효한 SoapAction을 어떻게 결정합니까?
- 19. 컨트롤의 가시성을 어떻게 결정합니까?
- 20. 기본 테이블을 어떻게 결정합니까?
- 21. 엔티티가 저장되었는지 어떻게 결정합니까?
- 22. WCF는 발송할 작업을 어떻게 결정합니까?
- 23. MEF는 수입 주문을 어떻게 결정합니까?
- 24. svn : 특정 라인이 마지막으로 변경된 시간은 어떻게 결정합니까?
- 25. .NET은 TimeZoneInfo.TransitionTime에서 주를 어떻게 결정합니까?
- 26. 파일 사용 여부는 어떻게 결정합니까?
- 27. DLL이 참조되는 위치는 어떻게 결정합니까?
- 28. SharePoint 목록의 크기는 어떻게 결정합니까?
- 29. C# 컴파일러의 경로는 어떻게 결정합니까?
- 30. 프로세스의 부모 PID를 어떻게 결정합니까
어떤 정보를 원하십니까? 주어진 드라이브가 어떤 종류의 드라이브입니까? 볼륨/파티션 크기? 물리적 장치 정보? –