Мне было поручено отправлять текстовые данные буфера обмена в буфер обмена удаленного компьютера, подключенного к WfreeRDP, из веб-приложения, и у меня возникают проблемы, зная, где искать.
WFreeRDP
имеет TestClipboardFormats.c, который выглядит как то, что мне нужно, и имеет SetClipboardData
и GetClipboardData
, с которыми мне удалось работать (по крайней мере, согласно выводу консоли Debug)
BOOL bSuccess;
UINT32 SrcSize;
UINT32 DstSize;
const char* pSrcData = commandArgs.c_str();
char* pDstData;
textHtmlStringFormatId = ClipboardRegisterFormat(clipboard, "CF_TEXT");
utf8StringFormatId = ClipboardRegisterFormat(clipboard, "UTF8_STRING");
SrcSize = (UINT32)(strlen(pSrcData) + 1);
bSuccess = ClipboardSetData(clipboard, textHtmlStringFormatId, pSrcData, SrcSize);
fprintf(stderr, "ClipboardSetData: %d\n", bSuccess);
DstSize = 0;
pDstData = (char*)ClipboardGetData(clipboard, textHtmlStringFormatId, &DstSize);
fprintf(stderr, "ClipboardGetData: %s\n", pDstData);
free(pDstData);
Я надеялся, что буфер обмена удаленного компьютера будет заполнен данными, которые я отправил, так как его можно успешно извлечь с помощью GetClipboardData
, но щелчок правой кнопкой мыши на удаленном компьютере не дает результатов.
Я использую правильный метод? Или может использовать его неправильно?