如何在 Windows 操作系统上找到主硬盘的驱动程序盘符?
即带Program Files
,System32
等的驱动器。
有一个名为的环境变量SystemDrive
被设置为系统驱动器(令人惊讶的是)。getenv()
电话是您可以接听电话的方式。
char *sysDrive = getenv ("SystemDrive");
if (sysDrive == NULL) {
// vote me down.
} else {
// vote me up and use it.
}
如果您不能依赖系统驱动器上存在的特定目录,此页面列出了一系列可用的环境变量。
或者,使用 Windows API 调用SHGetSpecialFolderPath()并传入正确的CSIDL。那么你不应该依赖环境变量。
尽管请注意那些页面上这已被 Vista 中的其他功能取代(它应该仍然有效,因为此功能成为新功能的包装器)。
API 调用GetWindowsDirectory可能会有所帮助。您可以使用 API 进一步解析此信息以解析驱动器号信息。
系统驱动
程序文件
系统根
风向
不要假设 Program Files 与 Windows 位于同一驱动器上。通常是这样。通常。
请参阅MSDN 上的获取系统信息。它在很大程度上解释了如何深入获取系统信息。信息量很大。