为什么使用acrobat reader时GetClipBoardOwner总是返回0,
当在任何其他MS应用程序中使用GetClipBoardOwner时,例如在Notepad.exe中,结果将是真正的剪贴板所有者,但当与Adobe acrobat reader一起使用时,我得不到任何表示为0的结果
我调用了GetLastError(),它给出了一个正确的句柄,但是对于Adobe acrobat阅读器,它给出的结果是0
有人能给我解释一下吗?
非常感谢
发布于 2012-06-04 17:11:20
在adobe acrobat中发生了一些非常奇怪的事情:
Acrobat在使用NULL (OpenClipboard( NULL ))打开剪贴板后,使用HWND ()取得所有权,这意味着所有者HWND为NULL。
到目前为止,一切正常,奇怪的是,当所有者为空时,它使用SetClipboardData(),从MSDN和我自己的经验来看,这种情况应该使SetClipboardData()失败,但在acrobat的情况下,SetClipboardData()没有失败,并将数据放在剪贴板中,而所有者为空!
这就是为什么你会得到一个空的所有者。新的悬而未决的问题是为什么SetClipboardData()不会失败……
https://stackoverflow.com/questions/10397320
复制相似问题