Read Mode
Default

Mouse Hovering in CMD | Fight for efficiency | Advance Batch

All of we know that, CMD doesn't support mouse by its default nature. CMD is totally Keyboard based, which further means that you can only handle its Input / output via keyboard / Screen. But, With the GUI interface, we are habitual of using Mouse for the easy and fast interactions with the program. With the help of few plugins, we are now able to detect the mouse click on the screen. E.g. Batbox.exe, Fn.dll, GetInput.exe, Input.exe, CmdWiz.exe etc. are most probably used plugins for detecting mouse in CMD.

What is Mouse Hovering?
Whenever, You're moving your mouse pointer in the screen over an element (e.g. Button) on the screen. You might've noticed that the color of the button gets change slightly. The Same thing you can also notice, when you are moving your pointer on the contents of a list. This moving of mouse pointer (without click on any element), is generally called as Mouse hovering in the technical terms.

And in CMD, Till Now, We are able to easily detect the mouse click on the screen. But, Mouse Hovering is still a great need for the advance program layouts. Thus, in this article we'll talk about the methods to detect Mouse Hovering in CMD.

Not Easy to Implement!
As Creating a loop, which can keep an eye on each mouse movement and Compare it with all the element's position on the screen - Seems to be perfect algorithm for the requirement. But, This method can be quite resource hungry (High CPU Usage) and not practical enough for implementation. We need to find an alternative way to complete our requirement. 
As C, Cpp are the quite resource friendly. And you can use loops, without raising the CPU much higher. Thus, Creating a Batch plugin which can complete our purpose would be much simpler and easier.

The Solution 😍
There are Three solutions to this problem. One is created by Kvc, and the second one is created by Misol101, and the Most Simple - but amaizing one was by Aacini. We'll talk about all in brief in the following section. Although, you can read the full documentation of them by clicking the corresponding link.

Mouse Hovering in CMD | Fight for efficiency | Advance Batch

1. Input.exe | By Kvc

Compiled in Cpp, This batch plugin is amazing alternative for the other input plugins. It can detect both mouse and keyboard inputs provided by users. You can use it in your programs to make them more responsive and effective as any windows application. The plugin allows you to capture mouse Hovering Data in the program, you can process it in any way you want.

2. CmdWiz.exe | By Misol101

This is another amazing batch plugin, containing 39 in 1 features. Not specially dedicated For getting input, but you can also do many other important things in your program using it. Like Input.exe, It also allows you to capture the Mouse Hovering data. But, The method to read and use That Data is quite complex (we must say).

GetInput.exe is the best Hovering plugin, that we came across. It is so fast and uses very less resources. The following image is the screenshot of the sample code provided by Aacini. And, It seems like... Aacini is quite smart! As They have used the detection loop inside the plugin, instead of looping the whole program. Which makes the program efficient. The Usage of the plugin is quite complex though. But, it can be understood by analyzing the code thoroughly.

Mouse Hovering in CMD | Fight for efficiency | Advance Batch
The Competition 😃
In one of our tests, Both the plugins seems to have the same response and speed. They almost uses the same CPU usage, while using almost same RAM. But, we don't know why - Programmers are considering Input.exe Much slower in response. Read the official conversation here.

Mouse Hovering in CMD | Fight for efficiency | Advance Batch

You can easily understand the comparison between both the plugins through the following table. Have a look, and if you are not agreed at any point | Or | You want to add a point. Please do comment below. We'll consider your point in the article.



Sr.#. Parameters Input.exe CmdWiz.exe GetInput.exe
1 Size 1.26 MB 74.3 KB 3.5 KB
2 No. of Arguments 2 39 1
3 Multiple Loop Calls Same Speed Same Speed No Need (Fastest)
4 Simple to Use Yes No No
5 Practically Useful Yes Yes Yes
6 Max. CPU Usage 55% 63% 7%
7 Max. RAM Usage 1512 KBs 1520 KBs 1130 KBs
- Result OK OK Efficient
So, GetInput.exe wins by three point due to the small file size and almost No Resource usage. On the other hand, If you like the multiple Arguments in a single plugin, then Cmdwiz.exe will be first on your selection list. We love to do these comparisons between the rival plugins and find out which one you should Use in your batch programs.
But, If you don't care about file size and more focus on the simplicity of your program. Then You know, which plugin to select, as all 3 plugins are Good in speed. We have tested these plugins for speed, you can check out the comparison in the video below.



If you are still in doubt or with any query. You know about the comment box below. Try and Find out the difference by your own, via downloading the Test Files from the link given below. Leave your feedback and comment. We'll try to act on them. Happy coding!

Keep sharing, keep learning...
Be Happy, Spread happiness...

Download Link:

8 comments:

  1. Officially speaking when I created that topic on the forum I didn't knew of any tools such as cmdwiz and getinput.exe didn't supported mouse hovering at that time. The only tools I had for mouse hover detection was input.exe by kvc and a compiled but unusable file from advanced bat to exe converter. And at that moment I was foolish enough to have compared a plugin with an executable. I should edit my post on that forum and sorry for the trouble I caused.

    Sounak

    ReplyDelete
    Replies
    1. Seems like you have updated the example provided in input.exe as last time when I downloaded it there was no colour inverted box down the mouse cursor.

      Sounak

      Delete
    2. Hey Sounak!
      Glad to hear From You. We're Happy to See your post about Your Query. We really appreciate your efforts and curiosity to know new things. 'Cuz this is the only thing - which keeps us moving!

      Yeah, you Cuaght it right - We've update the Link & Files, As Soon as we've read about the problem you are facing using Input.exe. The Updation is only because of you. So, we really thank you for making Us better than before.

      We've Compared all three plugins in A Separate Video (Other than video above)... You can have a look at it. (If you wish to)

      And We really liked the way you maintain Your multiple Comments in a single thread. Thanks for that too.

      #TheBATeam

      Delete
    3. But just saying the deduction of a fifteen years old kid(me), I have tested input.exe,cmdwiz.exe,getinput.exe and getmouse.exe(created by Aacini to detect mouse hovering) on 3 PC's. First one with very low processor and 1gb ram, 2nd one with i3 processor and 2gb ram and 3rd one with i3 processor and 4gb ram. The difference between performance was barely visible in the second one and undetectable in the last one. But it seems that loading 1.26mb each time on the memory gave a noticeable difference in the first one. Frankly saying have you tried other compilers out there carving off the excessive bits beforehand?
      BTW I'm a subscriber of your YouTube channel. I have seen the video before you had mentioned.
      I respect you guys for making our life easier by spending your free time to build such great plugins for us. Thanks for that.

      Sounak

      Delete
    4. Wow! We've only tested it on i3 - 4GB. It maybe issue for the low memory PC's. In that case, We think... GetInput By Aacini Is a Better alternative for the Mouse hover and keyboard detection.
      You've got a Good Point. We'll Try to make it better using another compiler. And, Thanks for the appreciation. We're happy to help!

      Happy Coding!

      Delete
  2. I'm back and just updated darkbox with a new feature.
    Darkbox now come with an input server which can get both mouse and keyboard in the same time at lightning speed, and with a little help from Darkbatcher, we can do a similar behavior of batbox /k_ but with mouse and keyboard in the same time (see it.bat in tests).
    So, this can answer : http://www.thebateam.org/2017/01/mouse-hovering-in-cmd-fight-for.html and http://www.thebateam.org/2017/01/use-both-mouse-keyboard-at-same-time-in.html

    Also, darkbox-dist now provide a fully-featured english documentation in README files you might like that, in the future, we maybe will add a documentation in the Dos9 project like batbox done.

    For makemenu and darkbox_s, they still unfinished and should be fully ready in the future.

    Downloads : http://sachadee.org/Ts/darkbox/darkbox-dist.7z or http://sachadee.org/Ts/darkbox/darkbox-dist.tar.xz

    Good luck for the future !

    ReplyDelete
    Replies
    1. Superb! TSnake41.
      When you last posted in my thread over dostips then darkbox didn't had the keyboard support. Now as it has and as it is a server I am sure it has much faster than most other answers posted there. You should post on dostips too.

      Sounak

      Delete
    2. Awesome! Welcome Back TSnake41.
      We're astonished to see these amazing, but essential updates in the DarkBox Server. You Both worked amazingly on this one! We're quite amazed by the output of it.bat Example file. It feels like, we're operating some submarine from the computer (amazing aesthetics of output ♥).

      And, The documentation part is awesome description of usage for the New Programmers. We'll update about this New version of DarkBox - as soon as we'll finish some unfinished pending projects of ours. (it may take a month also, but not more than that)

      We Hope you'll understand the work load. And, Thanks for taking out time to inform us about your awesome creation. ♥

      Hoping for the Better Future!

      Delete

Powered by Blogger.