如何模拟按键

时间:2010-12-03 10:26:18

标签: c#

我知道如何使用SendKeys(),但如果我想模拟按住ESCAPE键5秒钟,我该怎么办呢?

2 个答案:

答案 0 :(得分:13)

你可以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

答案 1 :(得分:-2)

尝试使用计时器...使用System.Forms.Timer ...为5000ms ...然后如果5000ms完成,关闭计时器..