Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как работать правильно с буфером обмена?

4.7K
18 декабря 2003 года
offslinker
6 / / 02.09.2003
Я пишу программу которая переводит текст в буфере в другую раскладку клавиатуры например:
Ghbdtn в Привет.
Я поставил ловушку, она нормально работает, нормально берет текст с буфера(что меня очень удивило т.к тот код я написал случайно), нормально перекодирует, а в буфер не посылает. Верней посылает,но только в окне Visuala, даже если запускаю ехе-файл. А допустим из Worda не работает.
Само посылание происходит в длл-ке
Код:
BOOL PutTextIntoClipboard(char* p_String)
{if (OpenClipboard(NULL))
{HGLOBAL l_MemoryForClipboardBuff = ::GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE|GMEM_ZEROINIT, strlen(p_String) + 1); //it's unclear why a byte more is needed
if (!l_MemoryForClipboardBuff) return false;

BYTE* l_MemoryForClipboard = (BYTE*)::GlobalLock(l_MemoryForClipboardBuff);
memcpy(l_MemoryForClipboard, p_String, strlen(p_String));
::GlobalUnlock(l_MemoryForClipboard);
SetClipboardData(CF_TEXT, l_MemoryForClipboardBuff);
CloseClipboard();
return true;
}
return false;
}
4.7K
21 декабря 2003 года
offslinker
6 / / 02.09.2003
У меня была одна маленькая ошибка я не очищал буфер.
Теперь вопрос, как заставить программу выводить кириллицу, потому что она выводит ?????.
319
21 декабря 2003 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by offslinker
У меня была одна маленькая ошибка я не очищал буфер.
Теперь вопрос, как заставить программу выводить кириллицу, потому что она выводит ?????.


Это надо менять кодировку... Попробуй в UNICODE строки пересылать... Я сам не делал, но по идее в UNICODE все должно работать.

4.7K
21 декабря 2003 года
offslinker
6 / / 02.09.2003
Если посылать в формате Unicode, то получается гадость и формате ОЕМ. А если где-то в слове была русская буква, то все получается просто отлично.
Но если добавлять русскую букву все равно получается фигня.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог