Управляйте другим приложением через графический интерфейс из моей программы

#c #linux #user-interface

#c #linux #пользовательский интерфейс

Вопрос:

Я хотел бы написать простую программу на C для Linux (Ubuntu) для управления другими программами с графическим интерфейсом. Например, чтобы иметь возможность читать текстовые метки и помещать текст в поля ввода других программ, написанных с использованием gtkmm. Я просмотрел X11, но, похоже, не нашел никакой релевантной информации или примеров.

Большое вам спасибо за любую информацию.

Ответ №1:

Один из способов сделать это — через XTEST расширение (pdf).

Пример использования для ключевых событий здесь: Генерация события поддельного ключа X11 с использованием расширения XTest.

Ответ №2:

Существует класс Java Robot, который был разработан для этой цели. Он может генерировать события мыши и клавиатуры и так далее. Есть хорошая документация и много примеров. Например — Введение в класс Java Robot на Java. К сожалению, это Java. Вы можете напрямую использовать X11 API, но обычно это слишком сложно.