【发布时间】:2010-08-23 01:24:59
【问题描述】:
虽然大部分时间是C:\WINDOWS\system32,但有时它可以在D分区或类似的分区中,如何以编程方式获取它?
【问题讨论】:
虽然大部分时间是C:\WINDOWS\system32,但有时它可以在D分区或类似的分区中,如何以编程方式获取它?
【问题讨论】:
您可以调用Windows API函数SHGetFolderPath并请求CSIDL_SYSTEM。
在 Windows Vista 及更高版本中,您可以致电 SHGetKnownFolderPath 并询问 FOLDERID_System。 SHGetFolderPath 只是在更高版本的 Windows 中对该函数的封装,但如果您希望您的软件在 Windows XP 上运行,则需要使用 SHGetFolderPath。
【讨论】:
UINT WINAPI GetSystemDirectory(
_Out_ LPTSTR lpBuffer,
_In_ UINT uSize
);
您可以按照here 所述使用它
【讨论】:
GetWindowsDirectory 也可能取决于操作系统/用途。显然 SHGetFolderPath 似乎是 MS 推荐的方式
【讨论】: