虽然大部分时间都是C:\WINDOWS\system32
,但有时它可以在D
分区或类似,但是如何以编程方式获取它?
答案 0 :(得分:7)
您可以调用Windows API函数SHGetFolderPath
并询问CSIDL_SYSTEM
。
在Windows Vista及更高版本中,您可以致电SHGetKnownFolderPath
并要求FOLDERID_System
。 SHGetFolderPath
只是Windows的更高版本中此函数的包装器,但如果您希望软件在Windows XP上运行,则需要使用SHGetFolderPath
。
答案 1 :(得分:3)
UINT WINAPI GetSystemDirectory(
_Out_ LPTSTR lpBuffer,
_In_ UINT uSize
);
您可以按照here
的规定使用此功能答案 2 :(得分:0)
GetWindowsDirectory也可能取决于操作系统/目的。显然,SHGetFolderPath似乎是MS推荐的方式