Is there anyway for a C# console application to capture keystroke, including those that are pressed outside of the program, similar to a key logger? The one I found and tried is Console.ReadKey() but it can only read the keystroke sent to the console.
            Asked
            
        
        
            Active
            
        
            Viewed 4,290 times
        
    0
            
            
        - 
                    1Possible duplicate of: http://stackoverflow.com/questions/7283397/how-to-use-console-windows-app-without-focus-on-it – raveturned Mar 23 '12 at 15:11
- 
                    From his followup questions, I think this is more like http://stackoverflow.com/questions/177856/how-do-i-trap-ctrl-c-in-a-c-sharp-console-app – Tremmors Mar 23 '12 at 15:26
4 Answers
0
            
            
        You'd have to handle global keyboard events. Have a look at A Simple C# Global Low Level Keyboard Hook
 
    
    
        Saeb Amini
        
- 23,054
- 9
- 78
- 76
0
            You need to use a low level keyboard hook. Here is an example using windows forms, but you can easily apply the same concept to a console application:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
Hope it helps!
 
    
    
        Reinaldo
        
- 4,556
- 3
- 24
- 24
- 
                    Can it help me capture key combination, like Ctrl + C or Ctrl + Alt + Delete? – IcySnow Mar 23 '12 at 15:18
- 
                    Unfortunately to handle Ctrl + Alt + Delete you have to write your own GINA implementation in C or C++ http://msdn.microsoft.com/en-us/library/aa380543%28VS.85%29.aspx – Reinaldo Mar 23 '12 at 15:48
- 
                    Thanks. I have something else to ask though: How can I make it so that if the user holds down a certain button for a while, instead of showing that button many times in a row (like "AAAAAAAAAAAAAAA") it will only show once (show "A" only once). – IcySnow Mar 24 '12 at 11:17
-1
            
            
        yes...you'll need to look at system keyboard hooks...I think this post has what you need:
- 
                    Can it help me capture key combination, like Ctrl + C or Ctrl + Alt + Delete? – IcySnow Mar 23 '12 at 15:16
 
     
     
    