如何在Windows mobile或MC67中禁用密钥重复
本文关键字:密钥 MC67 Windows mobile | 更新日期: 2023-09-27 18:29:13
我正在使用摩托罗拉MC67和Windows Mobile 6.0,并在c#紧凑框架中编写。
我想禁用按键重复,所以如果你长按"回车",例如,我不会得到超过一次"回车"按下。我搜索了摩托罗拉的手册,并尝试了这里给出的建议,做:
Registry.SetValue(@"HKCU'ControlPanel'Keybd", "RepeatRate", "1000000");
但是没有用。
有人能帮我吗?
需要明确的是:我可以从代码中更改注册表,但即使在我将速率更改为最大可能之后,它也会忽略注册表中的值。
如果此键是软件按钮,则可以禁用该按钮:
private void btnOK_Clicked(object sender, EventArgs e) {
btnOK.Enabled = false;
try {
// Your code here
} finally {
btnOK.Enabled = true;
}
}
如果这是针对你设备上的物理键,我真的不知道如何进入并设置"点击率"(或其他名称),但你可以尝试在你的例程中添加lock
。
private object m_lock = new object();
private void textbox_Changed(object sender, EventArgs e) {
lock (m_lock) {
// Your code here
}
}
不过,我不知道这是否有帮助。我无法测试,因为我在这里的设备似乎没有同样的问题。
硬件键盘可能不关心注册表设置,硬件驱动程序是特定于OEM的。
重复率是a)太高(超出规格),b)将在首先重新启动后发生,c)可能仅控制软件键盘。
以下是一个最终得出IOCtl解决方案的长线程:http://social.msdn.microsoft.com/Forums/en-US/5f322f80-1dba-477e-a77e-d667e8f2031f/keyboard-repeat-rate.