Вопрос
Как скопировать текст в буфер обмена с помошью WinAPI?
Ответ
//копирование строки в буфер обмена
BOOL TextToClipboard(HWND hwnd, char* str)
{
if (OpenClipboard(hwnd))//открываем буфер обмена
{
if (EmptyClipboard())//очищаем буфер обмена
{
HGLOBAL clipbuffer;//буфер для хранения строки
char * buffer;//строка, помещаемая в буфер
clipbuffer = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE, strlen(str)+1);//выделяем память
buffer = (char*)GlobalLock(clipbuffer); //блокируем доступ к выделенной памяти
strcpy(buffer, str);//копируем строку
GlobalUnlock(clipbuffer);//разблокируем память
SetClipboardData(CF_TEXT,clipbuffer);//записываем строку в буферобмена
if (!CloseClipboard()) return FALSE;//закрываем буферобмена
}
else
return FALSE;
}
else
return FALSE;
return TRUE;
}
Copyright 2000-2004 Сообщество Чайников
Контактная информация