gpt4 book ai didi

c++ - 什么是 isWindowsServer API for VS 2008 编译器的等价物

转载 作者:行者123 更新时间:2023-11-28 01:25:23 34 4
gpt4 key购买 nike

在我们使用 VS 2017 编译器编译的产品中,我们使用 IsWindowsServer API 检查代码是否在服务器版本操作系统中运行,然后采取一些措施。出于某种原因,我需要将此逻辑导入我们在 VS 2008 编译器上运行的产品的旧版本。此处无法使用 IsWindowsServer API,并给出错误错误 C3861:“strtof”:找不到标识符。那么我可以在这里使用的等效 API 是什么?

最佳答案

IsWindowsServer 本身不是 API。真是<versionhelpers.h>中定义的宏包装 VerifyVersionInfo .这是实现:

#include <windows.h>

bool IsWindowsServer()
{
OSVERSIONINFOEXW osvi = { sizeof(osvi), 0, 0, 0, 0, {0}, 0, 0, 0, VER_NT_WORKSTATION };
DWORDLONG const dwlConditionMask = VerSetConditionMask( 0, VER_PRODUCT_TYPE, VER_EQUAL );

return !VerifyVersionInfoW(&osvi, VER_PRODUCT_TYPE, dwlConditionMask);
}

两个依赖的 API VerSetConditionMask 和 VerifyVersionInfo 应该在与 VS2008 捆绑在一起的 SDK 中可用。

关于c++ - 什么是 isWindowsServer API for VS 2008 编译器的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54069371/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com