问题: Ruby TK GUI应用在退出时清空Windows剪贴板是否正常?
问题:我有一个带有一些文字的TkText,如果我按Ctrl + C然后关闭应用程序,剪贴板是空的,如果我在应用程序仍然打开时粘贴一切正常,之后一旦关闭应用程序甚至无关紧要,它仍然保留在剪贴板中。
这是打算发生的吗?
答案 0 :(得分:2)
听起来像延迟渲染可能有效。您可能已经在Excel,Word,Outlook或任何大型绘图程序等应用程序中看到了这一点。你复制,当你关闭应用程序时会说“你已经在剪贴板上放了大量数据,你想让它可用于其他程序吗?”。那是因为副本是用“延迟渲染”完成的,而且数据并不是真正在剪贴板上。剪贴板只有空句柄,如果/什么时候实际上要求粘贴(特别是奇怪或昂贵的格式,如WKS1,SYLK,EMF,HTML等),应用程序需要在现场生成它。因此,在关机时,这些应用程序实际上只是处理这些未履行的责任,因为它们不会在它们消失后回答WM_RenderFormat消息。 我希望你的ruby环境使用延迟渲染甚至是CF_TEXT之类的简单格式,而不是用完全填充的数据(很多应用程序都是静默地)更新剪贴板,它们只是把它吹走了。或者他们可能会留下空句柄。运行旧的XP剪贴板查看器会显示真正空的剪贴板和认为它有文本(TEXT显示在可用格式列表中)之间的区别,但实际上只有空句柄。