我正在使用C#SendKeys.Send方法处理问题。我试图用其他键替换键盘键,例如,当我在键盘上按“a”时,例如当我在代码中执行此操作时,我希望该键为“s”:

if ((Keys)keyCode== Keys.A)
{
    SendKeys.Send("s");

}

现在,我在记事本中只打印了一个“sa”字符,但是在这种情况下,我只需要打印“s”个字符,而不是打印“sa”,因为当我在键盘上按“a”时,必须替换“a”与“s”。

我尝试通过添加以下行来删除最后一个字符:
SendKeys.Send("{BS}");

但是我得到的只是删除了“s”字符,并且在那里有“a”字符。

如何防止这种情况发生?

最佳答案

我会回拨电话:
SendKeys.Send("{BS}");SendKeys.Send("S");
编辑(问题更新后):

如果您正在使用字符串(用于特殊字符),则不仅可以捕获由按键(“a”)生成的字符串,还可以通过将字符串设置为您尝试使用的字符的unicode值来对其进行修改代表?如果人们提到的其他解决方案无效,那是我接下来要尝试的地方...

关于C#SendKeys.Send,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1012616/

10-17 02:49