Я изучаю C++, я хочу знать, как создаются программы, которые могут взаимодействовать с другим приложением в Windows. Взаимодействие я имею в виду, например, нажатие кнопки, ввод клавиатуры, изменение настроек этого приложения , изменение параметров или даже редактирование или создание файлов. Как я могу создавать такие программы на C++?Взаимодействие с другим приложением
ответ
Как вы взаимодействуете с другими приложениями, зависит от вашей ОС. Если, например, ваше приложение работает в Windows, вы должны использовать Win32 API. Win32 API - это функции, предоставляемые операционной системой, позволяющие взаимодействовать не только с другими приложениями, но и с самой ОС, например, для установки окон или для открытия файлов.
Win32 предоставляет систему обмена сообщениями. Каждое приложение имеет цикл сообщений и принимает сообщения от ОС (например, о щелчках мыши), но также может принимать сообщения из других приложений. Получатель не может решить, приходит ли сообщение из ОС или из другого процесса.
Чтобы изменить название, вам необходимо отправить другое приложение WM_SETTEXT с помощью функции SendMessage.
Простое взаимодействие с другим приложением (изменение его значений, а не просто изменение GUI) возможно только в том случае, если приложение предоставляет какой-то интерфейс. Это может быть сетевое соединение, именованные каналы, разделяемая память или какой-либо модуль загрузки модулей/плагинов (через DLL). В противном случае его невозможно (легко).
Для ОС на базе UNIX существует API под названием POSIX, обеспечивающий аналогичную функциональность как Win32.
ОК, есть win32, есть что-то другое, кроме win32, для того, чтобы делать то же самое в windows.For часть GUI я нашел win32 трудным, поэтому я в настоящее время изучаю Qt, что намного проще, чем win32.Is есть способ, которым я могу intergrate Qt (для gui) и win32 для взаимодействия, если да, как –
@ TheExperimenter Да, просто включив его? Qt не использует ничего, кроме Win32 под капотом. Почему они должны вмешиваться друг в друга? И в том числе windows.h не означает, что вы должны использовать его для своего GUI o.O – Paranaix