我如何获得系统驱动器号?

时间:2009-05-01 05:15:01

标签: windows winapi hard-drive

如何在Windows操作系统上找到主硬盘的驱动程序字母?

即使用Program FilesSystem32等驱动器。

5 个答案:

答案 0 :(得分:24)

有一个名为SystemDrive的环境变量,它被设置为系统驱动器(令人惊讶的是足够多)。 getenv()电话是你如何做到的。

char *sysDrive = getenv ("SystemDrive");
if (sysDrive == NULL) {
    // vote me down.
} else {
    // vote me up and use it.
}
如果您不能依赖系统驱动器上存在的特定目录,

This page会列出一大堆可用的环境变量。

或者,使用Windows API调用SHGetSpecialFolderPath(),并传入正确的CSIDL。那么你不必依赖环境变量。

虽然请注意那些已经被Vista中的其他功能取代的页面(它应该仍然有效,因为这个功能成为新功能的包装)。

答案 1 :(得分:4)

API调用GetWindowsDirectory可能会有所帮助。您可以使用API​​进一步解析此信息以解析驱动器号信息。

答案 2 :(得分:3)

SYSTEMDRIVE

PROGRAMFILES

SYSTEMROOT

WINDIR

不要假设Program Files与Windows位于同一驱动器上。通常是。 一般

答案 3 :(得分:0)

永远不要使用上面错误答案中的env变量。
env变量可由用户更新。

答案 4 :(得分:0)

请参阅MSDN上的Getting System Information。它解释了如何在大多数情况下深入获取系统信息。非常有用。

相关问题