0

我想在我的 Windows 应用程序中识别 C++ 中的磁盘。例如:我在 E:\ 上有一个磁盘,然后我改变了磁盘,并用另一个替换它。名字还是E:\我怎么知道磁盘被改了,不是原来的了?

如果我在win7中没有管理员优先级,我还能用一些方法来识别不同的磁盘吗?

非常感谢!

4

1 回答 1

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

于 2010-04-14T09:46:59.823 回答