如何用C++获取system32目录的完整路径?

4

虽然大多数情况下它是 C:\WINDOWS\system32,但有时它可能在 D 分区或类似位置,如何以编程方式获取它?

3个回答

7
您可以调用Windows API函数SHGetFolderPath并请求CSIDL_SYSTEM
在Windows Vista及更高版本中,您可以调用SHGetKnownFolderPath并请求FOLDERID_System。在较新的Windows版本中,SHGetFolderPath只是该函数的一个包装器,但如果您想让您的软件运行在Windows XP上,您需要使用SHGetFolderPath

3
UINT WINAPI GetSystemDirectory(
  _Out_  LPTSTR lpBuffer,
  _In_   UINT uSize
);

您可以按照这里所述使用它来进行操作。


0

GetWindowsDirectory也是根据操作系统/目的的可能性。显然,SHGetFolderPath似乎是微软推荐的方式。


2
实际上,应该使用GetSystemDirectory()。 - MSalters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接