Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to simulate keypress

Tags:

c#

I know how to use SendKeys() but how do i go about it if i would like to simulate holding ESCAPE key for like 5 seconds?

like image 344
Jason94 Avatar asked Dec 03 '10 10:12

Jason94


1 Answers

You can PInvoke keybd_event and hold down Escape key for 5 seconds and then release it:

[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);


keybd_event(VK_ESCAPE, 0, 0, 0) // KEY_DOWN

System.Threading.Thread.Sleep(5000);

keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0) // KEY_UP
like image 78
fardjad Avatar answered Sep 22 '22 01:09

fardjad