告诉Vista和XP之间的区别[C]

时间:2009-07-10 05:07:37

标签: c api

他们是用C来区分Vista和XP的。 原因是我使用的路径两者都不同。

2 个答案:

答案 0 :(得分:3)

您可以致电GetVersionEx来获取Windows操作系统的版本。

OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof vi;
GetVersionEx(&vi);

if (vi.dwMajorVersion >= 6)
    // Windows Vista or newer
else
    // Windows XP or older

答案 1 :(得分:2)

您不应将特定于平台的路径硬编码到您的应用程序中。这些东西都有环境变量。

打开命令提示符并键入“set”以查看它们的列表。自Windows 95以来,其中一些已成为标准配置。需要注意的重要环境变量是......

  • HOME
  • APPDATA
  • PROGRAMFILES
  • SYSTEMROOT
  • ALLUSERSPROFILE

所以例如......

    char * path;
    path = getenv("HOME");
    printf(path);

围绕目标版本的Windows查看,看看两者之间的变量是什么。

编辑:python让我对字符串操作很懒,修复了示例代码。