我一直在环顾四周如何带来一个string,
const char* output = "ヽ(⌐■_■)ノ♪♬";
到剪贴板。
SetClipboardData(CF_UNICODETEXT,hMem);
我已经尝试了MultiBytetoWideChar,但是我得到的只是噪声,也有矛盾的说法,你不能保存UTF-16LE到剪贴板(wchar_t)。 老实说,我只是困惑。 方向或代码样本会很好。
Windows CF_DIB到剪贴板中的CF_BITMAP
Java BufferedImage到剪贴板给IIOException
C剪贴板更新非常慢
以编程方式确定剪贴板源信息
C ++从Linux上的剪贴板获取string
直接从Windows剪贴板获取二进制数据
在Windows和OSX之间自动同步剪贴板
如何在lua中保存剪贴板(Windows)
从剪贴板中读取权限被拒绝
Linux上的Java剪贴板(仅限文本),一些程序可以读取,其他程序不能,为什么
Windows使用UTF-16LE。 该字符串应该用L前缀创建。 要使用UTF8,你可以用u8前缀声明字符串。 例如:
const char* text = u8"ヽ(⌐■_■)ノ♪♬E";
然后,您必须使用MultiBytetoWideChar将UTF8转换为UTF16并在WinAPI中使用。 请注意,要使用u8你需要像VS2015更新的编译器。
首先使用UTF16比较容易。 例如:
const wchar_t* text = L"ヽ(⌐■_■)ノ♪♬E"; int len = wcslen(text); HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE,(len + 1) * sizeof(wchar_t)); wchar_t* buffer = (wchar_t*)GlobalLock(hMem); wcscpy_s(buffer,len + 1,text); GlobalUnlock(hMem); OpenClipboard(NULL); EmptyClipboard(); SetClipboardData(CF_UNICODETEXT,hMem); CloseClipboard();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。