我们有一个C ++应用,大量使用剪贴板API OpenClipboard
等。
该应用程序经常保存剪贴板的内容,插入内容,粘贴然后还原剪贴板。
在Windows 10月10日更新中,这导致了很多剪贴板历史记录,这些历史记录也可能在设备之间同步。
是否有新的api
绕过新的剪贴板历史记录?
答案 0 :(得分:0)
最后找到了一种方法来得到微软的支持。
您需要先获取几个格式ID
UINT clipboardHistoryFormat_ = RegisterClipboardFormat(L"CanIncludeInClipboardHistory");
UINT cloudClipboardFormat_ = RegisterClipboardFormat(L"CanUploadToCloudClipboard");
然后,当您在Windows 10历史记录或云中向剪贴板中写入不需要的内容时,还需要将上述格式设置为DWORD
值为0
auto number_of_bytes = sizeof(DWORD);
auto hMem = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, number_of_bytes);
if (hMem != nullptr)
{
if (SetClipboardData(clipboardHistoryFormat_, hMem) == nullptr)
{
// something went wrong
}
}