Incorrect software description

Oct 18, 2010 at 8:06 PM

Hi, Unfortunately description of your program is not accurate.

According this line:

NativeMethods.SetWindowsHookEx(13, hookDefault, NativeMethods.GetModuleHandle(mod.ModuleName), 0);

You hook events only for current active interactive desktop, while in description is said that your program can hook all keystrokes:

"Captures all keyboard input" ©

It would be nice, if you upgrade your program in way to catch all keyboard events.


Best regards,


Oct 18, 2010 at 8:11 PM

Hi walash,

How can the hook event method be used differently in order to "capture all keyboard input"?

In what scenarios are keystrokes not being captured?

Maybe this should be a new work item in the "Issue Tracker"?

Thank you.

Oct 18, 2010 at 9:29 PM

You asked me 3 questions:

1) Unfortunately, I don't know for now.

2) It could be useful for shared server administrator if number of users connect to server via "Remote Desktop Connection" for instance. 

If this sample isn't significant enough inform me, I'll provide some more samples.

3) You are project owner and this is project management question, so you are welcome to decide ☺

Oct 28, 2010 at 12:31 PM


Firstly I'm very sorry for the late response.

1) Application does indeed capture all keystrokes (well, ok, "all" can be a trivial term - I will specify: it captures all keystrokes that Windows OS is processing). The problem is, which should be a common sense, that it does all the job when it is running, and in your provided scenario, upon starting remote user session the application should be launched separately for that user as well. I agree that the description technically isn't exactly correct, I just tried to simplify it the best I could before getting into technicality and explicit wording.

2) "Remote Desktop Connection" example is a really good and valid one. But again, if we want to get all technical here - the user doesn't actually use the keyboard where the application is running. And RamHook doesn't claim it processes all the keystrokes being sent to the machine. For example, if a user uses on-screen keyboard, it will bypass the software too. But I'll definitely add it under TODO section.

Thank you very much for your input. :) And if you have any "description" suggestions, please let me know.

Oct 30, 2010 at 9:37 PM

Latter is better than never :)


I created correspondent issue. Thank you for your attention!