我已经在MinGW的Code :: Blocks中使用SetWindowSubclass
重新创建了相同的问题。
从#if
条件语句可以看出,_WIN32_WINNT
必须大于_WIN32_WINNT_WINXP
(代表Windows XP,因为SetWindowSubclass
的最低支持客户端是Windows XP)
在sdkddkver.h中,SetWindowSubclass
定义为:
_WIN32_WINNT_WINXP
所以我们需要定义#define _WIN32_WINNT_WINXP 0x0501 /* Windows XP */
大于_WIN32_WINNT
:
0x501
您应在MinGW中为此API链接的库是#define _WIN32_WINNT 0x502
#include <windows.h>
#include <stdio.h>
#include <commctrl.h>
。
此外,建议使用MSVC和VS工具,它可以正确定义这些宏。