代码之家  ›  专栏  ›  技术社区  ›  drigoSkalWalker

如何控制其他程序?

c
  •  0
  • drigoSkalWalker  · 技术社区  · 14 年前

    我的问题对所有语言都是通用的,但我只使用C语言,所以我想用这一种语言来回答。

    我的问题是,如何控制未编写的其他应用程序的行为?

    例如:

    • 如何填写这个输入框(在 这个站点)使用c?我需要吗 控制浏览器?(我正在使用 火狐)。

    • 在这个例子中,我如何打开 此浏览器中使用C的另一个选项卡? (看,我想控制这个
      应用另一个)

    • 我该如何嵌入我的程序?

    • 如何使用您的图形用户界面填充数据库程序,通过C来完成?

    等等……

    谢谢!

    6 回复  |  直到 14 年前
        1
  •  3
  •   Nathan Taylor    14 年前

    你的(多个)问题没有具体的或单一的答案,因为每个程序都不同。除了所需的具有API的应用程序之外,您还可以使用低级别的win32命令来识别您要更改/读取的那些进程中的进程和窗口的句柄。但这绝不是一个简单或可扩展的过程。

        2
  •  1
  •   Shawn    14 年前

    您必须与该程序API进行交互。

        3
  •  1
  •   bta    14 年前

    有些程序可以编写脚本,并发布允许其他程序向其发送命令的API。如果你的“目标”应用程序做了类似的事情,那么这通常是你的最佳选择。

    如果应用程序没有C API,那么您可能无法在C中控制它。这并不意味着这是不可能的,只是您可能需要不同的语言。如果您的应用程序是Windows GUI应用程序,则可以使用 AutoIt 以编程方式与GUI交互。

        4
  •  0
  •   Joe D    14 年前

    通常,您使用程序的应用程序编程接口(API)来访问公共可用的函数,这些函数允许您在该程序中完成任务。但是,并不是每个应用程序都有可以使用的API。

    您应该首先查看您打算控制程序的应用程序的文档,看看它们是否有适合您需要的API。

        5
  •  0
  •   Colin Hebert    14 年前

    大多数情况下,应用程序需要API来彼此协作。 还有另一种方法可以自动化对应用程序所做的操作(就像用户那样)。例如,在Windows上有一个名为 AutoIt 它可以与您的计算机交互。

    我不确定这是否是你的追求,但它几乎可以做所有你要求的事情。

        6
  •  0
  •   extraneon    14 年前

    问题是,如何控制未编写的其他应用程序的行为

    答:这取决于应用程序和平台(Linux、Windows、Mac…)。它通常不取决于您选择的语言。

    例如,Linux上相当多的GTK/KDE程序可以通过DBUS消息总线进行部分控制。这些应用程序就是这样设计的。

    我认为火狐有一个命令行选项,可以使用已经运行的浏览器打开一个新网站。

    我相信,Mac上的AppleScript或Automator也可以用来控制某些应用程序。

    简而言之,就你想做什么提出一个单独的问题 确切地 声明您需要控制的平台和应用程序。