【问题标题】:Tell difference between Vista and XP [C]区分 Vista 和 XP [C]
【发布时间】:2010-11-09 14:49:22
【问题描述】:

这是他们用 C 语言区分 Vista 和 XP 的一种方式。 原因是我使用的路径不同。

【问题讨论】:

    标签: c api


    【解决方案1】:

    您可以拨打GetVersionEx获取您的Windows操作系统版本。

    OSVERSIONINFO vi;
    vi.dwOSVersionInfoSize = sizeof vi;
    GetVersionEx(&vi);
    
    if (vi.dwMajorVersion >= 6)
        // Windows Vista or newer
    else
        // Windows XP or older
    

    【讨论】:

    • 它只说明 XP 之间的区别
    • 我很确定它确实能正确区分不同版本。我认为5.something 是 XP,6 是 Vista,6.1 是 Windows 7。
    【解决方案2】:

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

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

    • 首页
    • 应用数据
    • 程序文件
    • 系统根目录
    • 所有用户资料

    比如说……

    字符 * 路径; 路径 = getenv("HOME"); printf(路径);

    浏览一下目标版本的 windows,看看两者之间有哪些共同的变量。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 2010-09-06
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多