与其他应用程序的交互

Interactions with other application

本文关键字:交互 应用程序 其他      更新时间:2023-10-16

我是一个学习c++的人,我想知道如何制作可以在windows中与其他应用程序交互的程序。我所说的交互是指点击按钮、输入键盘、更改应用程序的设置、更改选项,甚至编辑或创建文件。如何在C++中制作这样的程序?

如何与其他应用程序交互取决于您的操作系统。例如,如果您的应用程序在windows上运行,则必须使用Win32 API。Win32 API是操作系统提供的功能,不仅可以与其他应用程序交互,还可以与操作系统本身交互,例如设置窗口或打开文件。

Win32提供了一个消息传递系统。每个应用程序都有一个消息循环,接受来自操作系统的消息(例如,关于鼠标点击的消息),但也可以接收来自其他应用程序的消息。接收器无法决定消息是来自操作系统还是来自另一个进程。

例如,要更改标题,您必须使用SendMessage函数向另一个应用程序发送WM_SETTEXT消息。

如果应用程序提供某种接口,那么直接与另一个应用程序交互(更改其值,而不仅仅是修改GUI)是可能的。这些可以是网络连接、命名管道、共享内存或某种模块/插件加载机制(通过dll)。否则这是不可能的(很容易)。

对于基于UNIX的操作系统,存在一个名为POSIX的API,它提供与Win32类似的功能。