получать из буфера обмена можно так
а записать строку строку так (проверено - работает):
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();
источник = stackoverflow.com/questions/1264137/how-to-copy-string-to-clipboard-in-c