[C#] MouseBot

Started by ForeverZer0, March 22, 2014, 05:00:15 pm

Previous topic - Next topic

ForeverZer0

March 22, 2014, 05:00:15 pm Last Edit: May 25, 2014, 10:40:48 am by ForeverZer0
MouseBot
Authors: ForeverZer0
Version: 1.1
Type: Input Simulator



Introduction

Recently I found need for a utility to automate mouse/input on my PC while I was away, and I employed the use of GhostMouse.  Unfortunately, this program is not free to use, and is only a limited trial unless purchased.  Although this can be bypassed easily, it inspired me to create my own application to do the same, so I introduce to you: MouseBot!

MouseBot is a very lightweight and simple program that comes packed with features to automate mouse movement, clicking, keystrokes, and text input. Simply build a list of commands with the user-friendly interface, and start the system to have them execute without your need to perform them. The possibilities are endless, and can be used for whatever you may require, such as automatically level-grinding in a game, fooling a web server to think that someone is still present to prevent a timeout, or whatever you can think of.


Features


  • Commands allow for clicking, pressing, or releasing any mouse button/key

  • Configure to simulate Ctrl, Alt, and/or shift during keystrokes

  • Automatic text input

  • Configurable delays between actions, down to one millisecond

  • Automated mouse movement

  • Save/Load settings and commands

  • Configurable hotkeys for starting/stopping execution

  • And more!




Screenshots

Main Interface: ShowHide

Options Window: ShowHide

Command Window: ShowHide

Tray Icon: ShowHide



Download

Application
Source Code


Compatibility

Requires Microsoft .NET Framework 4.0 or higher.

Any suggestions or bug reports are greatly appreciated!


License

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Zexion

Ah, thanks for this F0. I've used ghostmouse before, and I hated that it wasn't free. None of the others seemed to stack up, or had way complicated interfaces. Nice job!
I like to use this to play things on multiplayer piano that I otherwise couldn't play with just two hands XD

winkio

Well done.  Nice and streamlined, but perfect for automating tedious tasks.  Also, the icon is hilarious XD

Blizzard

My boss mentioned a few times that he'd like to automate UI testing. Since I know this is really difficult to make work on a general basis, I usually told him to forget that idea. But this tool is a step in that direction, lol!
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

ForeverZer0

Thank you guys, I am glad you like it.
It's actually very simple, but given the right situation, it can come in very handy.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

WhiteRose

This looks awesome, F0! If you're looking for suggestions for a future version, maybe you could give the option to add some level of randomness to the mouse actions. (Nothing significant, but maybe changing the speed or movement path slightly, or moving the click by a tiny, tiny bit.) This would make it seem more like a real user was using the mouse. Though it wouldn't help with automating tedious processes, it would be useful for anyone using it for surveys, games, or other things that might be trying to detect users with automation programs.

Anyway, just a thought. All in all, definitely well done, and a great idea!

ForeverZer0

Damaged my HDD, so all the source code (and many other things) is currently lost.  Have a new one coming, and afterwards I will see about recovering what I can from it.  :-(

I do like the idea of the adding some randomness to the movement, and I can definitely see some uses that could be made with that feature, so once that will be a feature I would like to include in the future, thank you for the feedback.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Ryex

you should use a source control site. bitbucket gives you free repos I think.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

ForeverZer0

Quote from: Ryex on April 14, 2014, 12:13:08 am
you should use a source control site. bitbucket gives you free repos I think.


I do for some of my larger projects I work on, but not everything.  This particular project was just something I made for personal use, and  just polished up a little bit before sharing, so I never got around to placing it under any SVN control.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

ForeverZer0

Alright, so I decided to rewrite the application from scratch.
I kept the basic GUI design, with only a few minor tweaks here and there. There are numerous tweaks done to the underlying system, but nothing that really effects the ender user too much. I did add a few little details, such as double-clicking to edit commands, a better copy/paste function, mouse tracking when using capture mode, and a couple more, but it is pretty much the same at this point. And now that I have the source code back, I am also releasing that if anyone should like to learn anything from it.

The hosting has also been moved from Dropbox to SourceForge, as will likely any future project I create. No more losing entire projects for me.

One last note, I changed the targeted framework from .NET 2.0 to .NET 4.0.  This shouldn't effect most people, but the link to the proper framework is given above if you don't already have it installed.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

orochii

Yes! Now I can make my RPG Maker games while away from the keyboard! Mwahahahahaha!

My vengeance against humanity will be fulfilled...