虽然大多数情况下它是 C:\WINDOWS\system32
,但有时它可能在 D
分区或类似位置,如何以编程方式获取它?
SHGetFolderPath
并请求CSIDL_SYSTEM
。SHGetKnownFolderPath
并请求FOLDERID_System
。在较新的Windows版本中,SHGetFolderPath
只是该函数的一个包装器,但如果您想让您的软件运行在Windows XP上,您需要使用SHGetFolderPath
。UINT WINAPI GetSystemDirectory(
_Out_ LPTSTR lpBuffer,
_In_ UINT uSize
);
您可以按照这里所述使用它来进行操作。
GetWindowsDirectory也是根据操作系统/目的的可能性。显然,SHGetFolderPath似乎是微软推荐的方式。