简单跨平台剪贴板库?

4

我想知道是否有类似的工具。我只是需要一种能够复制和粘贴字符串的方式,比如从游戏到记事本,反之亦然。

谢谢。


很抱歉您没有找到您要找的内容。也许您应该简单地重新提出问题,例如“如何在Mac上实现文本剪贴板”,如果这是您缺少的唯一信息。 - Eli Bendersky
我创建了一个跨平台的C++库,你可能会发现它很有用:https://github.com/dacap/clip(目前仅支持Windows和macOS,Linux/X11尚不可用) - dacap
@dacap 不错的库!希望您能添加Linux支持 :) - jmasterx
1个回答

7
每个应用都必须提供支持。记事本有这个功能。如果您希望您的应用程序提供此功能,则必须实现它。如果您使用正确的工具,那么这很容易。
跨平台编程框架(如Qt)通常具有封装跨平台剪贴板操作的类。
以Qt为例,您可以使用QClipboard类,只需调用setText()设置剪贴板的文本内容,调用text()获取它们即可。还有一些针对图像和其他数据格式的方法 - 只需查看文档即可。

2
不幸的是,QT 对我的需求有点过度,我在考虑一些小巧轻便的东西。 - jmasterx
@Milo:过度杀伤力是指DLL大小吗?请注意,QClipboard实际上没有任何依赖项,您可以只使用Qt中的这个类而不需要其他内容。虽然我怀疑如果您正在编写跨平台应用程序,您可能希望使用更多的内容。 - Eli Bendersky
不,我正在编写一个游戏,只需要它用于我的文本框。 - jmasterx
@Milo:剪贴板并不是“小而轻巧”的——如果你只想要简单的文本,那么你可以为每个你想支持的平台编写三行代码来放置和取出剪贴板,并将它们放在#ifdefs后面。然而,剪贴板还有像OLE这样的复杂内容与之相关联,这些内容需要庞大的库才能以跨平台的方式正确处理。(例如,在Word文档中粘贴Excel表格——Excel必须提供一个COM组件告诉Word如何处理该对象... - Billy ONeal
@Billy ONeal 嗯,那三行代码就是我想要的,我在想是否有类似的东西存在,这样我就不必在 Mac 上处理 Objective C 和 NS 了。 - jmasterx
@Milo:我刚发现了这个问题:https://dev59.com/yEvSa4cB1Zd3GeqPi_9A,它问了类似的问题,但也没有得出解决方案。 - Eli Bendersky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接