.net 通过putty终端将箭头键作为字符串发送到AIX 7.2

0sgqnhkj  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(108)

各位,
我被一些麻烦弄得头都碎了。
我正在通过PuTTy SSH连接到AIX 7.2,并且正在使用那里的一个终端程序,需要在其中移动光标来选择选项。
而且,当它是可以自动完成的事情时,我懒得手动完成它。

我们在做“正常方式”时遇到过问题,通过在PuTTy窗口上设置焦点并发送按键,特别是因为如果速度过快,终端就不能很好地响应,发送的按键/文本也会丢失...如果等待太长时间,要么会话就会宕机。而且,最后,即使焦点正在不断地重定向到窗口,也有失去焦点的风险。当这种情况发生时,部分击键/文本也丢失了...
所以,我的主要问题是确保所有的键都被发送。为了做到这一点,我做了一个Windows窗体,在其中我详细说明了我想要的选项,然后调用一个没有窗口的PlinkIdeexe进程。
我将Process.STDO重定向到我的表单,这样我就可以得到关于进程进展情况的反馈,而且由于有时会丢失信息,所以我创建了某种信号量,以保证在最终从AIX服务器得到反馈时进行编写,对于Process.STDIN,我使用了一个字符串数组,其中包含了文本和要发送的转义键。
我现在的问题是:
由于我没有窗口可以设置焦点而无法使用SendKeys,我尝试使用ASCII转义字符发送“向下箭头”键。
到目前为止,我可以发送“\n”和普通文本,但无法发送用于上下移动和选择选项的箭头键,或者无法正确解释它们。
我一直在做我的研究,我已经尝试发送'\033[1B'(最后一次我尝试)移动光标向下,我使用了AIX上的cat命令,所以我可以看到什么时候按下键打印(和打印什么-非打印字符,我猜-)我甚至下载了AIX 7.2手册,看看是否有有用的东西在那里...
主要的想法,当我如此接近完成它,将获得'箭头向下'转义键值的字符串,所以我可以发送它通过PuTTy,让它识别和移动光标向上和向下。
所以,任何想法都是受欢迎的...

ujv3wf0j

ujv3wf0j1#

您应该考虑在流程环境中设置ESCDELAY。它被记录在here中。

相关问题