与其他应用程序的交互

时间:2014-02-08 15:47:37

标签: c++ interaction

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

1 个答案:

答案 0 :(得分:1)

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

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

例如,要更改标题,您必须使用WM_SETTEXT功能向其他应用程序发送SendMessage消息。

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

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