Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с буфером обмена 
V
    Опции темы
StyxR0CK
Дата 27.2.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 27.2.2007

Репутация: нет
Всего: нет



Доброго времени суток!
Возникла проблема с доступом к буферу обмена. Моя программа переодически получает данные из буфера от другой программы, но если в системе (Win) работают некоторые программы (Например DMaster или Promt) которые перехватывают буфер обмена, то когда бы я ни обратился к буферу обмена, получаю эксепшн: UnsupportedFlavorException: Unicode String.

С буфером работаю так:

Код

    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    DataFlavor df = DataFlavor.stringFlavor;

    try
    {
        сode = (String) cb.getData(df);
        System.out.println(сode);
    }
    catch (UnsupportedFlavorException e)
    {
    }                          
    catch (IOException e)
    {
    }
    catch (IllegalStateException e)
    {
    }



Подскажите как можно решить проблему.
PM MAIL   Вверх
ecologist
Дата 28.2.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 2
Всего: 9



Ну видимо эти программы гадят буфер своими собственными форматами. Тут ничем скорее всего помочь не получится. Разве что не использовать эти программы вообще. 
И по большому счету - это очень-очень-очень плохой стиль - использовать для общения между программами буфер обмена. Во-первых никаких гарантий, что тебе не испортят данные. Да и твоя программа тоже. Да и каково пользователю - запомнить что-то важное в буфере а потом обнаружить, что все пропало.

Может воспользоваться теми же сокетами. Или на крайний случай файлом для обмена данными. Но буфер обмена - ужасающее решение.
PM MAIL   Вверх
StyxR0CK
Дата 28.2.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 27.2.2007

Репутация: нет
Всего: нет



ecologist, да я понимаю, но к сожалению, программа от которой я получаю данные работает через OLE и умеет отдавать данные в буфер или посылать другим программам (MSWord, ... около штук 7, причем они должны быть зарегистрованы в системе) . При этом создается временный файл, который имеет случайное название и при этом запускается выбранное приложение.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.