如何在Windows操作系统上找到主硬盘的驱动程序字母?
即使用Program Files
,System32
等驱动器。
答案 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。它解释了如何在大多数情况下深入获取系统信息。非常有用。