Custom C# implementation of AutoIt

Howdy, in today's episode we will take a quick look at my custom C# implementation of AutoIt. I decided to give you a short introduction as I will be heavily relying on that library in future posts. I strongly recommend reading previous introductory post The journey begins.

But why???

Why did I decide to implement my own C# port instead of using official one supplied by AutoIt guys? The main reason why is because I have totally missed its existence! However I learned a fuckton implementing it myself. I've also integrated image search and added some fancy features. I was lazy enough to implement only vital functionalities which I needed for my projects. The added bonus is that I have full control over what is happening under the hood.

Supported functionalities

Here is brief list of features:

  • sending key and mouse inputs
  • window management functions
  • pixel/image search on screen or on supplied bitmap
  • screenshots (fullscreen, area)
  • screenshots of inactive windows (super useful when you want to bot a game in background)
  • timers
  • calling functions with specified intervals
  • process management (killing, getting ID)

Having these is enough to implement sophisticated botting solutions.

Summary

AutoIt is really good for fast prototyping and simple automation. However for more complicated tasks I prefer C#, so I can easily debug and use data structures. If you are interested in implementation details or want to use my library in your project feel free to download source code from here: https://www.dropbox.com/s/a6vvf3kkprr1bzc/AutoIt.zip?dl=0

This library is not required to continue our journey, you can definitely adjust my code samples to use AutoItX or even port them back to AutoIt.

 

 

2 thoughts on “Custom C# implementation of AutoIt”

  1. I recently picked up Python as Autoit libraries have been detected in a game I bot. Getting those Autoit python libraries really helped though. Autoit has a great way of using “mousemove” which circumvents some anti-bot code in games, I love it.

    I’m happy I bridged the gap between Autoit and a proper language like Python though. I still get to sue Autoit’s functions but also with the amazingly faster performance of Python.

  2. MouseMove is still “inhuman” 🙂 There is a very little chance that developers actually track some kind of mouse data statistics. If you want to sleep better remember to add some randomness to your code (random offsets to click coordinates/move speed, random delays between clicks).

Comments are closed.