Tag: #sendkeys capslock

以编程方式禁用大写锁定

我在自动化程序中使用SendKeys进行工作。 我一直在努力,现在正在努力消除我创造的所有错误:-) 其中之一就是当我使用SendKeys.Send(“Test”)时,如果CapsLock打开,它将产生“tEST”而不是“Test”。 我使用以下代码尝试检测capsLock状态,并在必要时切换它: bool tmp = Control.IsKeyLocked(Keys.CapsLock); if (tmp) { keybd_event(0x14, 0x45, KEYEVENTF_EXTENTEDKEY, (UIntPtr)0); keybd_event(0x14, 0x45, KEYEVENTF_EXTENTEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0); //Application.DoEvents(); <-Testing. } 然后立即使用SendKeys发送一些文本: SendKeys.SendWait(“This Is An Over Capitalized Test String”); 其中仍然出现:“tHIS不适用于经过考验的测试”。 有没有办法解决这个问题? 回答! 只是为了澄清其他人,问题通过使用解决了 SendKeys.SendWait(“{CAPSLOCK}” + text); 我首先尝试使用: SendKeys.SendWait(“{CAPSLOCK}”); SendKeys.SendWait(“This Is An Over Capitalized Test String”); 这根本不起作用。