我的问题对于所有语言都是通用的,但我只使用C,所以,我想在这个中得到答案。
我的问题是,如何控制我没写的其他应用程序的行为?
例如:
如何填写此输入框(in 这个网站)使用C?我需要吗? 控制浏览器? (我正在使用 火狐)。
仍在此示例中,我如何打开 这个浏览器中使用C的另一个标签? (见,我想控制这个 应用这样的另一个)
如何在我的程序中嵌入程序?
如何使用你的gui填充数据库程序,用c来完成?
依旧......
非常感谢!
答案 0 :(得分:3)
您的(多个)问题没有具体或单一的答案,因为每个程序都有所不同。如果没有具有API的所需应用程序,您可以使用低级Win32命令来识别要更改/读取的进程和窗口的句柄。但它绝不是一个简单或可扩展的过程。
答案 1 :(得分:1)
您必须与该程序API进行交互。
答案 2 :(得分:1)
某些程序可编写脚本并发布API,允许其他程序向其发送命令。如果你的“目标”应用程序做了类似的事情,那么这通常是你最好的选择。
如果应用程序没有C API,那么您可能无法在C中控制它。这并不意味着它是不可能的,只是您可能需要不同的语言。如果您的应用是Windows GUI应用,则可以使用AutoIt以编程方式与GUI进行交互。
答案 3 :(得分:0)
通常,您使用程序的应用程序编程接口(API)来访问公共可用的功能,以便您在该程序中完成任务。但是,并非每个应用程序都有可以使用的API。
您应首先查看您打算通过您的程序控制的应用程序的文档,并查看它们是否具有适合您需求的API。
答案 4 :(得分:0)
大多数情况下,应用程序需要API才能相互协作。 还有另一种方法可以自动化对应用程序执行的操作(就像用户一样)。例如,在Windows上有一种名为AutoIt的“语言”,它可以与您的计算机进行交互。
我不确定这是否是你所寻求的,但它几乎可以完成你所要求的所有事情。
答案 5 :(得分:0)
问题是,如何控制我没写的其他应用程序的行为
答案:这取决于应用程序和平台(linux,windows,mac,...)。它通常不依赖于您选择的语言。
作为一个例子,linux上的很多gtk / kde程序可以通过dbus消息总线进行部分控制。这些应用程序旨在以这种方式进行控制。
我认为firefox有一个命令行选项,可以使用已经运行的浏览器打开一个新网站。
我相信Mac上的Applescript或automator也可以用来控制某些应用程序。
简而言之,就你想要做什么完全提出一个单独的问题,说明你需要控制的平台和应用程序。