我正在尝试制作将文本复制到剪贴板的小程序。我在这个网站上发现了这个问题。程序代码:
const char* output = "Test";
const size_t len = strlen(output) + 1;
HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, len);
memcpy(GlobalLock(hMem), output, len);
GlobalUnlock(hMem);
OpenClipboard(0);
EmptyClipboard();
SetClipboardData(CF_TEXT, hMem);
CloseClipboard();
此程序会将文本复制到剪贴板。但我需要它复制2行。所以我试试这个:
const char* output = "Test1\nTest2";
但它被复制为文字。我如何修复此代码,结果将是:
Test1
Test2
而不是:
Test1\nTest2
答案 0 :(得分:2)
Standard Clipboard Formats的页面说明CF_TEXT
:
文字格式。 每行以回车/换行(CR-LF)结束 组合即可。空字符表示数据的结尾。用这个 ANSI文本的格式。
所以你可能需要:
const char* output = "Test1\r\nTest2";
^^