我正在使用C#SendKeys.Send方法运行一个问题.我试图用其他键替换键盘键,例如当我在键盘上按"a"时,我希望该键为"s",例如,当我在我的代码中执行此操作时:
if ((Keys)keyCode== Keys.A)
{
SendKeys.Send("s");
}
Run Code Online (Sandbox Code Playgroud)
现在,我得到的只有"山"字在我的记事本印刷,但不是印刷"SA"我需要在这种情况下,只得到"S"字符,因为当我按下"是"我的键盘上,"一个"必须被替换与"s".
我尝试通过添加以下行删除最后一个字符:
SendKeys.Send("{BS}");
Run Code Online (Sandbox Code Playgroud)
但我得到的只是"s"字符被移除,而"a"字符就在那里.
我怎样才能防止这种情况发生?
我有一个启动的命令行应用程序,可以完成一些工作。在此期间,它会监听按键(s =>显示状态)。这不是在您按下's'和<ENTER>的典型命令提示符-它是在按下状态键时立即做出反应的类型。
现在,我试图通过发送击键来从精美的GUI应用程序“控制”该命令行应用程序。我尝试了更常规的方法来编写Process的StandardInput,但这似乎根本没有效果。另外,因为实际的过程没有窗口(它以CreateNoWindow = true开头),所以我无法尝试使用Win32 API将击键发送到窗口。
还有其他方法吗?