我正在创建一个程序来监视Windows中的剪贴板更改,用C ++编写。
我会使用函数AddClipboardFormatListener
,但编译器会给我这个错误:
AddClipboardFormatListener
未在此范围内声明
即使我添加了windows.h
库。
我该怎么做才能使这项工作?
答案 0 :(得分: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()
在运行时动态加载函数。