1

我知道这个问题没有答案,但我对计算机工程不感兴趣,我想知道我应该阅读或学习什么才能与桌面客户端软件交互。这是一个例子:

我玩扑克,我希望能够与我的扑克客户互动,我不想做任何花哨或任何非法的机器人这样的事情。例如,我想要一个程序来读取我的手牌,并且在玩完之后能够分析一些手牌,或者在线分析一些 HUD Helper。

对于那些玩扑克的人,我希望能够在某些牌桌上自动坐下,或者有一个迷你 HUD 告诉我我的 BB 和我的对手。我知道这有很好的程序,我使用它们。只是我想学习如何从这些客户那里读取信息以及如何与他们互动。我谈论扑克,但我想学习如何与其他程序交互。如果有人能告诉我从哪里开始我的学习,即使我从未将我的内识付诸实践,知道一些事情也会很高兴。只是我想知道事情是如何运作的。

PS:我应该使用 C/C++ 吗?我已经学习了 Java,现在我正在学习 Python 和 JS。

我希望我解释了自己,对不起我的英语。谢谢你。

4

1 回答 1

1

与扑克客户互动有多种选择,或多或少困难或复杂,并且有效取决于您想要完成的任务。

要获取信息,您可以通过网络嗅探数据,通过 API 挂钩注入代码,使用屏幕抓取和 OCR 读取信息,解析手牌历史......

要模拟用户操作,您可以以编程方式执行鼠标点击和击键,将消息直接发送到扑克客户端的 UI 组件,甚至直接与扑克服务器交互,发送您自己的预期信息(此选项以及从网络中嗅探数据以获取信息可能非常困难,因为您将不得不处理(可能是私有的)协议、数据加密等)。

如果您了解 Java,请尝试使用 awt 的Robot类。有了它,您可以读取屏幕像素、获取屏幕截图、执行鼠标点击和击键……我确信 Python 中有类似的工具,但不知道它们。

另一个用于 UI 自动化的高级工具是Sikuli。它可能对您的目的有用。

我希望这些信息对您有用。

于 2013-06-06T00:53:23.497 回答