【问题标题】:Interactions with other application [closed]与其他应用程序的交互[关闭]
【发布时间】:2014-02-08 15:47:37
【问题描述】:

我是一名学习 C++,我想知道如何制作可以与 Windows 中的其他应用程序交互的程序。交互是指单击按钮、提供键盘输入、更改该应用程序的设置、更改选项或甚至编辑或创建文件。如何在 C++ 中制作此类程序?

【问题讨论】:

    标签: c++ interaction


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 好的,除了 win32 之外,还有什么东西可以在 windows 中做同样的事情。对于 GUI 部分,我发现 win32 很困难,所以我目前正在学习 Qt,它比 win32 容易得多。有没有一种我可以集成 Qt(for gui) 和 win32 进行交互的方式,如果是的话
    • @TheExperimenter 是的,只需包含它? Qt 在底层不使用 Win32 以外的任何东西。他们为什么要互相干扰?包括 windows.h 并不意味着您必须将它用于您的 GUI o.O
    猜你喜欢
    • 2012-11-25
    • 2014-02-18
    • 2017-03-25
    • 2012-12-26
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多