Winapi C++;Windows API过度使用?

Winapi C++;Windows API过度使用?,winapi,Winapi,在VS9中,当我调用GetTickCount()函数时,它会在编译时自动将其转换为GetTickCount64()函数。第二个函数仅适用于Vista+,因此在XP上运行时会出现程序错误 我怎样才能“超越”它,使它调用原始的GetTickCount() 谢谢将WINVER设置为您想要的windows版本。或者可能是\u WIN32\u WINNT或\u WIN32\u WINDOWS。也许他们所有人 请看一看,以了解关于这个小混乱的o版本宏的详细信息 然而,我在Windows SDK中根本看不到这

在VS9中,当我调用GetTickCount()函数时,它会在编译时自动将其转换为GetTickCount64()函数。第二个函数仅适用于Vista+,因此在XP上运行时会出现程序错误

我怎样才能“超越”它,使它调用原始的GetTickCount()


谢谢

WINVER
设置为您想要的windows版本。或者可能是
\u WIN32\u WINNT
\u WIN32\u WINDOWS
。也许他们所有人

请看一看,以了解关于这个小混乱的o版本宏的详细信息


然而,我在Windows SDK中根本看不到这种重新定义-在我们的设置中是否有其他东西正在进行重新定义(或者可能我错过了它…?

请记住,您不是为Vista或Windows XP编译应用程序,而是为32位或64位操作系统编译应用程序。如果您的应用程序需要支持64位Vista以外的其他Windows版本,请在生成选项中指定为32位。

我在targetver.h中设置了以下内容:

#define WINVER 0x0501 
#define _WIN32_WINNT 0x0501
#define _WIN32_WINDOWS 0x0501 
它仍然被重新定义。然而,当我创建一个打印GetTickCount()的简单新项目时,它在XP上运行良好,即使我不必定义上述内容。 我没有更改项目设置中的任何内容。示例GetTickCount()有效和无效的唯一区别在于,它周围有很多其他代码并在使用它,但这些代码都不应该改变任何东西

这可能是什么原因造成的


编辑:我使用的另一个文件是直接调用GetTickCount64(),我不知道这一点,所以我假设这是我自己的GetTickCount()函数。请忽略我上面写的内容

我设置了以下内容:#定义WINVER 0x0501#定义#U WIN32(U WINNT 0x0501#定义(U WIN32)WINDOWS 0x0501,但它仍然会被重新定义。但是,当我创建一个打印GetTickCount()的简单新项目时,即使我不必定义上述内容,它也可以在XP上正常工作。尝试在编译器上使用/showIncludes开关(在IDE中,它位于C++/Advanced属性集中)-在包含的所有文件上运行grep或其他程序,以查看GetTickCount()的位置正在重新定义。正在将其编译为32位,出于某种原因,函数名仅为GetTickCount64()。GetTickCount64,因为它返回64位值。正常的GetTickCount是32位的,在48或49天内完成包装。