Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Global Keyboard Hooks Blocked

Posted on 2016-09-22
4
Medium Priority
?
140 Views
Last Modified: 2016-09-23
I have been using global keyboard hooks successfully since I started using them.  They have worked just fine under Windows XP, Vista, Windows 7.  However, they don't work for some applications under Windows 10 for some reason.

I have found 2 Windows applications that block the hooks from working:

          Windows Task Manager
          Registry

(I only mention the Registry as an example.  I do not recommend anyone using keyboard hooks with the Registry).

Also, and frustratingly, there are some 3rd party applications that seem to now be blocking Keyboard Hooks.

(My main concern is not about the Task Manager or the Registry, but, rather, other 3rd party applications.  If I can get the hooks working with the Task Manager with Experts Exchange's (your) help, then I can probably get it working with other problem apps as well).

Please find attached a sample keyboard hook app (with source code).  If you open Notepad (or just about any other application) then launch "SampleApplication.exe" then press random keys on the keyboard, you will notice that "SampleApplication.exe" intercepts ALL key presses and displays the key selected its UI.

          Notes:  
          When you build "SampleApplication.exe" it will reside in:
                    MouseKeyboardLibrary\SampleApplication\bin\Debug

          This was created with VS 2008.  (I have not tried converting it to VS 2013 or VS 2015).

          Open the solution, then rebuild "MouseKeyboardLibrary" then rebuild "HookSampleApplication", then run "SampleApplication.exe".

However, if you launch the Task Manager, (give Task Manager the focus), then press keys, "SampleApplication.exe" does NOT intercept any key presses.

Does anyone know why?  Is there a work-around?

I've tried creating a registry key in:

          HKEY_CURRENT_USER\Control Panel\Desktop
                    LowLevelHooksTimeout

         and giving it various values, but it makes no difference.
MouseKeyboardLibrary.zip
0
Comment
Question by:richtelieu88
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 41811963
I guess this is because a global keyboard hook is a security hole - keylogger for spyware.
0
 
LVL 56

Accepted Solution

by:
McKnife earned 2000 total points
ID: 41812254
Taskmanager and regedit both have "runashighest" in their application manifest: they both run elevated, when you run as admin. Do you run as admin? If so, please re-test as normal, restricted user.
0
 

Author Comment

by:richtelieu88
ID: 41812420
Damn McKnife!  You're good.

All I had to do was create a shortcut of "SampleApplication.exe", set the "Run as Administrator" to true, and it works perfectly !
0
 

Author Closing Comment

by:richtelieu88
ID: 41812421
Well done
0

Featured Post

Vim Reference Guide

Vim is a powerful text editor favored by many sysadmins and developers - here are some commands that you'll want to keep in your back pocket!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to reset your Windows 10 password when you've forgotten it.
Optimized for private cloud infrastructures and datacenters, Nano Server is minimalistic, yet super-efficient, OS for services such as Hyper-V and Hyper-V cluster. Learn how you can easily deploy Nano Server and unlock its power!
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use conditional statements in the C programming language.
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question