为什么GetClipBoardOwner始终使用acrobat reader返回0,
当使用GetClipBoardOwner与任何其他MS应用程序(例如Notepad.exe)时,结果将是真正的剪贴板所有者,但是当与Adobe acrobat reader一起使用时,我没有得到任何结果意味着0
我调用了GetLastError(),它给出了一个正确的句柄,但是使用Adobe acrobat reader它会得到0作为结果
有人可以解释一下这个吗?
非常感谢答案 0 :(得分:1)
adobe acrobat发生了一件非常奇怪的事情:
Acrobat在使用NULL(OpenClipboard(NULL))打开剪贴板后使用EmptyClipboard()取得所有权,这意味着所有者HWND为NULL。
到目前为止,一切正常,奇怪的是,当它使用SetClipboardData()而所有者为NULL时,从MSDN和我自己的经验来看,这种情况应该会失败SetClipboardData(),但是在杂技的情况下SetClipboardData()不会失败,并将数据放在剪贴板中,而所有者是NULL!
这就是你获得NULL所有者的原因。新的开放性问题是SetClipboardData()如何不失败......