这是我用来在某个进程中模拟 Tab 键按下的代码:
[DllImport("user32.dll")]
static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
public Form1()
{
PostMessage(MemoryHandler.GetMainWindowHandle(),
(int)KeyCodes.WMessages.WM_KEYDOWN,
(int)KeyCodes.VKeys.VK_TAB, 0);
InitializeComponent();
}
有什么方法可以延长它,使其按下该键(例如)1 秒,而不是仅仅点击它?
请注意,我对Thread.Sleep()
阻塞 UI 线程的解决方案。
按住键时重复击键是键盘控制器内置的一项功能。内置于键盘本身的微处理器。这8042微控制器虽然是传统的选择,但键盘设备驱动程序仍然保留其名称。
所以,不,这不是由 Windows 完成的,PostMessage() 不会为您做这件事。不完全是一个问题,您可以简单地用计时器来模拟它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)