1

GetClipBoardOwner が acrobat reader で常に 0 を返す理由、

Notepad.exe などの他の MS アプリケーションで GetClipBoardOwner を使用すると、結果は実際の Clipboard Owner になりますが、Adobe acrobat リーダーで使用すると、0 を意味する結果が得られません。

GetLastError() を呼び出したところ、正しいハンドルが返されましたが、Adobe acrobat リーダーでは結果として 0 が返されました

誰かが私にこれを説明してもらえますか?

どうもありがとう

4

1 に答える 1

1

adobe acrobat で非常に奇妙なことが起こります。

Acrobat は、所有者 HWND が NULL であることを意味する NULL (OpenClipboard(NULL)) でクリップボードを開いた後、EmptyClipboard() を使用して所有権を取得します。

ここまではすべて問題ありません。奇妙なことに、所有者が NULL のときに SetClipboardData() を使用するよりも、MSDN と私自身の経験から、この場合は SetClipboardData() が失敗するはずですが、アクロバットの場合は SetClipboardData( ) は失敗せず、所有者が NULL である間、データをクリップボードに配置します!

これが、NULL 所有者を取得する理由です。新しい未解決の問題は、なぜ SetClipboardData() が失敗しないのかということです...

于 2012-06-04T09:11:20.067 に答える