Link to home
Start Free TrialLog in
Avatar of Philippe Renaud
Philippe RenaudFlag for Canada

asked on

APM (Action per minute) application vb.Net

Hello EE,

Like in Starcraft 2, in which there is a monitor for APM (Action per minute), Can you help create one in Vb.NET ?

In other words... its two little box where the right one is a number that indicates how many action you perform with keyboard / mouse in a minute... its like an average it can reach 300 if you are pretty fast (it can reach 300 in 3-4 secs because lets say you press the letters A and C repeatly fast, its does an average that it will reach 300 in a minute)

and the left box is the average of the Right box...


Can you help do that vb.net ?
:)
ASKER CERTIFIED SOLUTION
Avatar of Mike Tomlinson
Mike Tomlinson
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Philippe Renaud

ASKER

Ok I tested, but not sure to understand 2 things:

1) it seems but number are always the same ? that is for the first 60 secs ?

2) if I minimize the app, seems it wont analyze the apm ? is it because the focus is not on the form ?
1) That's correct.  You can't have "per minute" metric if the first minute hasn't completely transpired yet.  Therefore for the first minute it uses the average metric.

2) Also correct.  I'm using IMessageFilter which only intercepts messages intended for that application only.  If you need it for the entire system then we'll have to implement a low level keyboard hook and a low level mouse hook with WH_KEYBOARD_LL.  I can give you an example or provide links if that's the case.  *The question didn't really specify how this would be used so I went with the easiest implementation so it would be easier to understand.
Idle_Mind, I would like a little modification, what If I want the APM when its Key press is "enter" on a specific textbox .. so apm would be only for a specific control ?

Let me know when you read my comment so I can creat a new question and I will tell you the link.


--- UPDATE

I found it :)
Sorry the delay Philippe...glad you found an answer!  =)