Question

I know there isn´t an answer for this, but i´m a nooby at computer ingeniering and I want to know what I should read or study about for being capable to interact with a desktop client software. Here is an example:

I play poker, and I want to be able to interact with my poker client, I don´t want to do any fancy or anything ilegal such a bot. For example I want to have a program that reads my hands and after playing be able to analize some of the hands or maybe some HUD Helper online.

For those who play poker I´d like to be able to autoseat in some tables automatically or have a mini HUD telling me my BB and my oponents. I know that there very good progrmas for this and I use them. Just I wanto to learn how to read info from this clients and how to interact with them. I talk about poker but I want to learn how to interact with other programs. If anyone could tell me where to begin my studys it would be nice to know something even if I never put my Knowledge in practice. Just i like to know how things work.

PS: Should I use C/C++? I ´ve learned Java and now I am learning Python and JS.

I hope I explained myself, sorry about my English. And thank you.

Was it helpful?

Solution

There are several alternatives to interact with a poker client, more or less difficult or sophisticated, and effective depending on what you want to accomplish.

For getting the information you could sniff the data over the network, inject your code via API hooks, read the information with screen scraping and OCR, parse the hand histories...

To emulate user actions you can programmatically perform mouse clicks and and key strokes, send messages directly to the UI components of the poker client, or even interact directly with the poker server sending it the expected information by your own(this option, as well as sniffing the data from the network to get the information, may be quite difficult since you will have to deal with (maybe private) protocols, data encryption, etc).

If you know Java, give it a try to the awt's Robot class. With it you can read pixels of the screen, get screen captures, perform mouse clicks and key strokes... I am sure that there are similar tools in Python but don't know about them.

Another higher level tool used for UI automation is Sikuli. It may be useful for your purpose.

I hope this information is useful for you.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top