IsClipboardFormatAvailable返回true,但即使剪贴板上的文本,GetClipboardData也返回NULL

时间:2015-03-28 23:06:33

标签: winapi vim

这是我在vim中只看到的一个问题,但我希望有人可以提供有关查找内容的建议(使用谷歌代码关闭,我无法为vim提交错误报告)。

在x64 Windows 8.1上(它在x64 Windows 7上运行正常)vim / gvim可以正常使用Windows剪贴板,直到您启动Web浏览器(chrome,firefox,opera,ie)。当浏览器运行时,vim可以在剪贴板上放置文本,但无法从剪贴板中获取文本。关闭Web浏览器后,剪贴板将再次开始工作。

我已将问题跟踪到IsClipboardFormatAvailable(CF_UNICODETEXT)返回非NULL但GetClipboardData(CF_UNICODETEXT)在这些条件下返回NULL。这似乎是vim如何使用win32 api(可能是与这些不同的调用)的特定内容,因为我编写的简单测试应用程序可以正常工作。

我尝试使用不同的兼容性设置运行并以管理员身份运行但没有任何区别。对于使用Visual Studio 2013社区和2010 Professional创建的32位和64位版本,此行为相同。

最令人费解的是,官方的32位版本(此时非常老)工作正常,但我自己构建的完全相同的标记(或我在互联网上找到的所有其他版本)都不起作用

对于好奇的有关如何在Windows上获取和构建vim的说明(注意 - 我不是博客作者):http://solar-blogg.blogspot.com/p/vim-build.html

0 个答案:

没有答案