Как симулировать нажатие клавиш - PullRequest
6 голосов
/ 03 декабря 2010

Я знаю, как использовать SendKeys (), но как мне это сделать, если я хотел бы имитировать удерживание клавиши ESCAPE в течение примерно 5 секунд?

Ответы [ 2 ]

13 голосов
/ 03 декабря 2010

Вы можете PInvoke keybd_event и удерживать клавишу Escape в течение 5 секунд, а затем отпустить ее:

[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
0 голосов
/ 03 декабря 2010

попробуйте использовать таймер ... используйте System.Forms.Timer ... для 5000 мс ... затем, если 5000 мс закончен, отключите таймер ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...