如何在C++中将文本复制到剪贴板?

-2 c++ clipboard copy-paste

我是 C++ 的新程序员,我不明白如何使用剪贴板像在任何其他带有文本的程序中一样进行复制和粘贴。请举例?

我正在使用 Code::Blocks 16.01 MinGW32 g++ windows 10。

koc*_*ica 5

SetClipboardData应该处理它。

glob = GlobalAlloc(GMEM_FIXED,32);
memcpy(glob,"it works",9);

OpenClipboard(hWnd);
EmptyClipboard();
SetClipboardData(CF_TEXT,glob);
CloseClipboard();
Run Code Online (Sandbox Code Playgroud)

编辑

这将从剪贴板中获取数据并将该数据返回到string.

std::string GetClipboardText()
{
    OpenClipboard(nullptr);
    HANDLE hData = GetClipboardData(CF_TEXT);

    char * pszText = static_cast<char*>( GlobalLock(hData) );
    std::string text( pszText );

    GlobalUnlock( hData );
    CloseClipboard();

    return text;
}
Run Code Online (Sandbox Code Playgroud)