Как я могу вставить текст в другое приложение? - PullRequest
2 голосов
/ 14 сентября 2010

Чтобы почесать личный зуд, я пишу что-то вроде помехи между картой персонажей и экранной клавиатурой. Когда пользователь выбирает символ, я хотел бы вставить его в другое приложение, в частности, в приложение, которое в следующий раз получило бы фокус, если бы мое приложение было закрыто. Есть какой-либо способ сделать это? Прямо сейчас я работаю над этим, просто помещая символ в буфер обмена и завершая работу, оставляя пользователю возможность вставлять вставку в другое приложение, но использование было бы намного более рациональным, если бы я мог просто вставить текст программно.

Я делаю это в GTK и ожидаю запустить его только в Linux. Но кроссплатформенные решения также приветствуются, и если GTK не сможет это сделать, а другой инструментарий сможет, я с удовольствием переключусь.

1 Ответ

0 голосов
/ 15 сентября 2010

Похоже, вам следует использовать libwnck, библиотеку, связанную с GTK, которая позволяет вам управлять окнами на рабочем столе.Документация немного скудна, но функция wnck_screen_get_previously_active_window() кажется многообещающей.

Из WnckWindow вы можете получить идентификатор окна X, и, возможно, оттуда вы можете использовать Xбиблиотеки для отправки сообщения вставки (или даже отправки события нажатия клавиши Ctrl-V), возможно, с XSendEvent().

Кстати, очень хороший вопрос.Хотел бы я ответить на него более осознанно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...