0

我在我的代码中使用RegisterDeviceNotification了 API。如果我不使用#define WINVER 0x501.

1)当我查看 windowWinuser.h时,RegisterDeviceNotificationA#if(WINVER >= 0x0500). 这是什么原因?

2)为了RegisterDeviceNotificationA工作,我在自己的 .h 文件中声明了所有声明,没有#if(WINVER >= 0x0500). 这是正确的方法吗?

3)我的另一个问题是在RegisterDeviceNotificationA没有winver的情况下声明有什么问题吗?Winver 有什么用?请详细解释我。

4

1 回答 1

2

定义 like 的主要目的WINVER是用最近的编译器编译旧代码。

如果您正在编写新代码,则需要在您的 cpp 文件或项目文件中定义此变量以及其他几个变量。该值是您所针对的 Windows 版本。微软就是这样设计的。

将系统定义复制到代码中是非常糟糕的做法。

于 2012-07-17T10:15:44.360 回答