我将一些数据放入剪贴板,从剪贴板复制数据后,我想清除数据而不清除整个剪贴板。
类似的东西:
wchar_t* buf=NULL;
if( OpenClipboard(NULL)!=0)
{
HANDLE hData = GetClipboardData( CF_UNICODETEXT );
buf = (wchar_t*)GlobalLock( hData );
GlobalUnlock( hData );
CloseClipboard();
return buf;
}
//job is done, and now I want to clear only hData!
据我了解,EmptyClipboard() 会清空所有内容!
提前致谢!
最佳答案
剪贴板一次只能保存一个IDataObject
;此数据对象可以呈现多种数据格式,但它只是一个 COM 对象。做你想做的唯一方法是复制现有的数据对象(减去你想删除的格式)并将其设置到剪贴板以代替原始数据。
关于c++ - 如何从剪贴板中清除指定格式的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14419197/