У меня есть программа, которая может обмениваться данными с приложениями MS Office через буфер обмена.
Это отлично работает в Office 2007 и Windows Vista / XP, но не работает с Office 2010 / Windows 7
IDataObject *d = NULL;
HRESULT hr = ::OleGetClipboard(&d);
if (hr == S_OK)
{
FORMATETC formatEtc;
formatEtc.cfFormat = ::RegisterClipboardFormat("Native");
formatEtc.ptd = NULL;
formatEtc.dwAspect = DVASPECT_CONTENT;
formatEtc.lindex = -1;
STGMEDIUM stgMedium;
hr = d->QueryGetData(&formatEtc);
После этого вызова мне возвращается ошибка - 0x8004006a Неверный формат буфера обмена
Я попытался выполнить поиск в Интернете, но не нашел соответствующей информации. Любые советы / предложения будут с благодарностью приняты.
Спасибо.