我正在创建一个程序来监视Windows中的剪贴板更改 .
我会使用函数 AddClipboardFormatListener ,但编译器给我这个错误:
AddClipboardFormatListener
未在此范围中声明AddClipboardFormatListener
即使我添加了 windows.h 库 .
windows.h
我应该怎么做才能使这项工作?
AddClipboardFormatListener() , RemoveClipboardFormatListener() 和 GetUpdatedClipboardFormats() 仅适用于Vista及更高版本 . 在XP及更早版本中,您需要使用 SetClipboardViewer() 和 ChangeClipboardChain() .
AddClipboardFormatListener()
RemoveClipboardFormatListener()
GetUpdatedClipboardFormats()
SetClipboardViewer()
ChangeClipboardChain()
在Win32 SDK中,仅当 WINVER 至少为 0x0600 (又名 _WIN32_WINNT_VISTA )时才声明侦听器函数,这意味着您的项目配置为仅针对Vista编译可执行文件 .
WINVER
0x0600
_WIN32_WINNT_VISTA
有关详细信息,请参阅Using the Windows Headers .
如果为了与XP或更早版本兼容而使用较小的 WINVER 值编译项目,则无法在编译时静态链接到侦听器函数,否则在XP及更早版本上运行时,可执行文件将无法加载 . 如果要在此类可执行文件中使用Vista上的侦听器函数,则必须使用 GetProcAddress() 在运行时动态加载函数 .
GetProcAddress()
1 回答
AddClipboardFormatListener()
,RemoveClipboardFormatListener()
和GetUpdatedClipboardFormats()
仅适用于Vista及更高版本 . 在XP及更早版本中,您需要使用SetClipboardViewer()
和ChangeClipboardChain()
.在Win32 SDK中,仅当
WINVER
至少为0x0600
(又名_WIN32_WINNT_VISTA
)时才声明侦听器函数,这意味着您的项目配置为仅针对Vista编译可执行文件 .有关详细信息,请参阅Using the Windows Headers .
如果为了与XP或更早版本兼容而使用较小的
WINVER
值编译项目,则无法在编译时静态链接到侦听器函数,否则在XP及更早版本上运行时,可执行文件将无法加载 . 如果要在此类可执行文件中使用Vista上的侦听器函数,则必须使用GetProcAddress()
在运行时动态加载函数 .