2013-06-03 140 views
1

我知道這並不是一個答案,但我是計算機專家,我想知道我應該閱讀或研究能夠與桌面客戶端軟件交互的內容。這裏是一個例子:與客戶端軟件進行交互

我玩撲克,我希望能夠與我的撲克客戶端進行交互,我不想做任何幻想或任何類似回合的機器人。例如,我想要一個能夠讀取我的手的程序,並且可以在遊戲後分析一些手或HUD Helper在線。

對於那些玩撲克的人來說,我希望能夠自動在某些表格中自動運行,或者讓迷你HUD告訴我我的BB和我的對手。我知道有非常好的程序,我使用它們。我只想學習如何閱讀這些客戶的信息以及如何與他們交流。我談論撲克,但我想學習如何與其他程序交互。如果有人能告訴我從哪裏開始我的研究,即使我從未將我的知識用於實踐,也很高興知道一些事情。只是我想知道事情是如何運作的。

PS:我應該使用C/C++嗎?我學習了Java,現在我正在學習Python和JS。

我希望我解釋一下自己,對我的英語感到抱歉。 謝謝。

回答

1

根據你想要完成的事情,有幾種方法可以與撲克客戶端交互,或多或少困難或複雜,並且有效。

爲了得到信息,你可以通過網絡嗅探的數據,通過API鉤子注入代碼,閱讀屏幕抓取和OCR的信息,解析手的歷史...

爲了模擬,你可以用戶操作以編程方式執行鼠標點擊和鍵擊,將消息直接發送到撲克客戶端的UI組件,或者甚至直接與撲克服務器進行交互,通過您自己的方式向它發送預期信息(此選項以及從網絡嗅探數據獲取信息,可能相當困難,因爲你將不得不處理(也許私人)協議,數據加密等)。

如果您知道Java,請嘗試awt的Robot類。有了它,您可以讀取屏幕像素,獲取屏幕截圖,執行鼠標點擊和擊鍵......我相信Python中有類似的工具,但不知道它們。

用於UI自動化的另一更高級別的工具是Sikuli。它可能對你的目的有用。

我希望這些信息對您有用。

+0

非常感謝您的回答。我將開始嘗試Java上的Robor類,並學習如何從網絡中嗅探數據。問題是,當我搜索屏幕抓圖「我的朋友」谷歌總是顯示我在網絡報廢結果,所以我有點迷路了,知道什麼teconology或語言使用。對於網絡上的數據嗅探也是如此,但那是因爲我是一個小白孩,所以我有一個很大的方向,但是這個項目是學習計算機科學的好方法。 – BaLanZe

+0

正如我以前告訴過你的,嗅探數據可能相當困難,因爲撲克客戶端收到的數據最有可能是加密的......您最好嘗試屏幕抓取或手動解析歷史記錄。有些撲克客戶會在聊天中向您顯示手牌的事件,因此您可以使用Robot類選擇該文本,將其複製到剪貼板中,然後解析它以獲取信息......這只是一個想法。我只使用了像素/圖像匹配和OCR,以及所提到的類,並且它或多或少地工作正常。也看看Sikuli,我相信它可能有用,並且你可以從我認爲的Java中使用它。 – e1985

+0

再次感謝您的回答。對不起,以前沒有回答,我正在準備一些考試,沒有時間檢查機器人班和Sikuli。我一直在嘗試他們,他們是非常好的工具。現在我必須嘗試解析聊天上的文字。對於那些需要用到Java的OCR庫的地方。現在我正在其他主題中尋找他們。未來的下一步是嗅探數據的工具,但一點點,現在我有很多好玩的東西可以玩。 感謝您的回答。 – BaLanZe