如何在C++中从剪贴板复制/粘贴?

14 c++ clipboard copy paste

我仍然是一个C++新手,他刚刚学会了一些文件操作.我在网上查了一下,所提供的代码超出了我目前的技能.有没有一种简单的方法可以做到这一点,或者是否有任何好的教程可以从基础知识中解释这一点?

Fel*_*ano 23

Windows中查看以下API:

这里可以找到广泛的讨论.显然这个话题与操作系统有很强的关系.如果你正在使用一些框架(即MFC/ATL),你通常会找到一些帮助基础设施.此回复指的是WIndows中最低的API级别.如果您打算使用MFC 看看这里,如果您更喜欢ATL,请看这里.

  • 并且不要忘记[IsClipboardFormatAvailable](http://msdn.microsoft.com/en-ca/library/windows/desktop/ms649047%28v=vs.85%29.aspx). (2认同)

X-I*_*nce 10

在C++中没有跨平台的方法来做到这一点


现在我们已经解决了这个问题,Felice Pollano的答案提供了Windows API,因此您可以在Windows中操作剪贴板.

Apple提供了一个名为ClipboardViewer的示例应用程序,以及对NSPasteBoard及其提供的功能的完整引用.

至于Linux,它取决于你正在运行的窗口管理器.


Ari*_*deh 6

您可以使用ClipboardXX库复制和粘贴简单文本。只需clipboardXX.hppgithub下载并将其复制到您的项目路径即可。然后按照它的例子:

#include "clipboard.hpp"
#include <string>

int main() {
    clipboardxx::clipboard clipboard;

    // copy
    clipboard << "text you wanna copy";

    // paste
    std::string paste_text;
    clipboard >> paste_text;
}

Run Code Online (Sandbox Code Playgroud)


Aki*_*iva 5

如果您愿意使用 Qt 库,则在 C++ 中有一种跨平台的方法可以做到这一点。

这里提供了一个解决方案:

/sf/answers/2830610331/