|
|
1
5
如果您不使用跨平台的UI库(如WX或其他),那么听起来您只需要为想要支持的每个平台编写本机剪贴板代码。 记住,在Macintosh上,您使用的是command-c而不是ctrl+c:。 |
|
|
2
4
剪贴板本质上是一个操作系统定义的概念。C语言本身不知道剪贴板是什么,也不知道如何操作它。你 必须 或者直接与操作系统接口,或者使用代表您这样做的可移植性库。这是不可能的。 |
|
|
3
4
我个人会定义我自己的功能
这是在两个不同的头文件(linux_clipboard.h、windows_clipboard.h等)中定义的,然后执行预处理器操作以相应地加载相应的头文件。我在C/C++中没有真正的代码,所以我很抱歉如果这没有任何意义或者是不好的练习,但我就是这样做的。
那种事 记得: 对于Linux,您必须使用不同的管理剪贴板的方法来处理不同的窗口管理器(gnome、kde)。在设计应用程序时请记住这一点。 |
|
|
4
1
您可以使用 xclip . 您可以在这里使用这个python脚本通过与“dcop”和“klipper”通信来完成这个任务。 here . 那是给kde的,我不知道在gnome下会怎么做…您也可以使用dbus独立地完成gnome/kde,尽管我也不能百分之百地自信地说… 请注意,对于真正的跨平台工作,您必须考虑不同的GUI,例如Linux下,x是主窗口管理器接口,gnome/kde位于其上。…我不是单独列出其他的GUI,如FluxBox、WindowMaker等,只是列出一些,而且会有很多依赖平台的代码,以及LSO结合起来,你也将处理Windows剪贴板……总之,一个大的集成代码…… 您是否考虑过查看原始X编程API以获得剪贴板支持?也许这会比我想象的更好,gnome/kde等正在使用x的api来做剪贴板的工作……如果确认了这一点,那么工作将被切断,并且独立于主要的gui接口……(我希望情况如此,因为它将使您的项目更容易生活!) 可能对每个平台使用编译时开关…win、kde、gnome、mac或使用已经预先定义的开关。 希望这有帮助, 最好的问候, 汤姆。 |
|
|
ultraloveninja · 将当前URL复制到剪贴板 8 年前 |
|
|
puneet · 粘贴前更新剪贴板数据(不是“粘贴”事件) 8 年前 |
|
|
Gucci · 将文本从剪贴板复制到剪贴板 8 年前 |
|
|
D Thr. · 如何在WinApi C#中订阅剪贴板事件? 8 年前 |
|
Ashok · 如何在非主线程中获取剪贴板数据? 8 年前 |