2010-04-14 4 views
0

내 Windows 응용 프로그램에서 C++로 디스크를 식별하고 싶습니다. 예 : E : \ 에 디스크가 있습니다. 그런 다음 디스크를 변경하고 다른 디스크로 교체하십시오. 이름은 여전히 ​​E : \ 디스크가 변경된 것을 어떻게 알 수 있습니까? 원래 디스크가 아닙니다.디스크의 ID를 얻으려면 어떻게해야합니까?

win7에서 관리자 우선 순위가없는 경우에도 다른 방법으로 디스크를 식별 할 수 있습니까?

감사합니다.

답변

4

아마 관련 방법은 다음과 같습니다

GetLogicalDrives()

BOOL WINAPI GetVolumeInformation( __in_opt LPCTSTR lpRootPathName, __out LPTSTR lpVolumeNameBuffer, __in DWORD nVolumeNameSize, __out_opt LPDWORD lpVolumeSerialNumber, __out_opt LPDWORD lpMaximumComponentLength, __out_opt LPDWORD lpFileSystemFlags, __out LPTSTR lpFileSystemNameBuffer, __in DWORD nFileSystemNameSize )

GetDriveType(string vol)

GetVolumeInformation 당신에게 일련 번호를 제공 할 것입니다. 이것이 충분하지 않은 경우 아마도 WMI_PhysicalMedia에 의지해야 할 것입니다. 나는이 모든 것이 관리자 권한없이 작동해야한다고 생각한다.

관련 기능을 나열하는 페이지는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/aa365730(v=VS.85).aspx