Я учусь на С ++, я хочу знать, как создаются программы, которые могут взаимодействовать с другими приложениями в Windows. Под взаимодействием я имею в виду нажатие кнопки, ввод с клавиатуры, изменение настроек этого приложения, изменение параметров или даже редактирование или создание файлов. Как я могу делать такие программы на C ++?
То, как вы взаимодействуете с другими приложениями, зависит от вашей ОС. Например, если ваше приложение работает в Windows, вы должны использовать Win32 API. Win32 API — это функции, предоставляемые ОС, которые позволяют вам взаимодействовать не только с другими приложениями, но и с самой ОС, например, для настройки окон или открытия файлов.
Win32 предоставляет систему обмена сообщениями. Каждое приложение имеет цикл обработки сообщений и принимает сообщения от ОС (например, о щелчках мышью), но также может получать сообщения от других приложений. Получатель не может решить, пришло ли сообщение из ОС или из другого процесса.
Например, чтобы изменить название, вы должны отправить другое WM_SETTEXT сообщение с использованием Отправить сообщение функция.
Непосредственное взаимодействие с другим приложением (изменение его значений, а не просто изменение графического интерфейса) просто возможно, если приложение предоставляет какой-то интерфейс. Это может быть сетевое соединение, именованные каналы, общая память или какой-либо механизм загрузки модулей / плагинов (через dll). В противном случае это невозможно (легко).
Для ОС на основе UNIX API называется POSIX существует, предоставляя подобную функциональность как Win32.
Других решений пока нет …