提问者:小点点

如何编写一个可以与其他程序交互的程序


我想写一个可以在Windows上玩纸牌的程序。 用户将运行该程序,打开纸牌并观看纸牌移动。 很容易为玩纸牌游戏的程序编写AI(我显然没有Windows纸牌游戏的源代码)。 我可以想到的一种方法是,如果我拍摄纸牌的图像并分析它以确定纸牌的当前状态,然后我可以将纸牌的当前状态传递给我的程序,它可以确定下一步的动作。 但我如何执行单击命令。

更一般说来,我想编写一个程序,它可以像用户那样与另一个程序交互。 我有C,C++,Java,Ruby的经验。 但我不知道该如何着手,也不知道是否能做到这一点?


共3个答案

匿名用户

Java不是这样做的语言。 为了方便这样的功能,您需要非常依赖windows API,特别是那些允许您注入输入的API。 作为一个起点,我建议您先了解一下windows应用程序实际是如何处理输入的。 这是一篇关于这个主题的好文章。

匿名用户

我不确定这里的所有其他文章,但Java有一个机器人类,允许你(轻松地)将键盘和鼠标事件分派到底层操作系统(在本例中是windows),它将允许你做你正在谈论的事情。 这是一个小类,我曾多次使用它来“自动化”Windows上的任务。

(我知道这是一个老生常谈的线索,但如果世界上有人像我一样偶然发现了它,并想按照您所描述的那样去做。)

匿名用户

如果要自动化Windows任务,那么请使用专门为执行此操作而编写的语言。 想到的包括WinBatch,AutoIt和autohotkey。