Главная » Статьи » IT |
Функции для чтения и записи текста из/в буфер обмена windows
Очень простые и незамысловатые функции для записи строки в буфер обмена и для чтения из него.
void copyTextToClipBoardA(const char* szText) { const int TXTLEN = (int)strlen(szText); if( !OpenClipboard(NULL) ) { throw std::runtime_error("Error copyTextToClipBoardA"); } HGLOBAL hgBuffer=0; char* chBuffer; EmptyClipboard(); hgBuffer= GlobalAlloc(GMEM_DDESHARE, TXTLEN + 1 ); chBuffer= (char*)GlobalLock(hgBuffer); strcpy(chBuffer, szText ); GlobalUnlock(hgBuffer); SetClipboardData(CF_TEXT, hgBuffer); CloseClipboard(); } void readTextFromClipBoardA( std::string& sDest ) { sDest = ""; bool result=false; if ( OpenClipboard(NULL) ) { HANDLE hData = GetClipboardData(CF_TEXT); char* chBuffer= (char*)GlobalLock(hData); if(chBuffer) { sDest = chBuffer; } else { result = false; } GlobalUnlock(hData); CloseClipboard(); result=true; } if(!result) { throw std::runtime_error("Error OpenClipboard"); } } | |
Просмотров: 336 | | |
Всего комментариев: 0 | |