Shell 从程序执行的控制台命令如何创建图形对话框以响应输入提示?

Shell 从程序执行的控制台命令如何创建图形对话框以响应输入提示?,shell,command-line,prompt,freepascal,lazarus,Shell,Command Line,Prompt,Freepascal,Lazarus,通过TProcess执行命令的Lazarus/FPC程序如何检测输入提示并为输入创建图形对话框 e、 g.假设我通过TProcess执行ssh命令,该命令需要输入密码-它如何检测到密码,用图形对话框提示密码并将其传递给命令继续执行?那么,您至少有两个选择: 对于“文本图形”(例如:文本框)使用whiptail或dialog并捕获其输出,它将包含用户输入的纯文本密码,例如dialog:dialog--passwordbox“请输入密码:”10 40 对于X-Window图形屏幕,您可以使用zeni

通过
TProcess
执行命令的Lazarus/FPC程序如何检测输入提示并为输入创建图形对话框


e、 g.假设我通过
TProcess
执行
ssh
命令,该命令需要输入密码-它如何检测到密码,用图形对话框提示密码并将其传递给命令继续执行?

那么,您至少有两个选择:

  • 对于“文本图形”(例如:文本框)使用whiptail或dialog并捕获其输出,它将包含用户输入的纯文本密码,例如dialog:
    dialog--passwordbox“请输入密码:”10 40
  • 对于X-Window图形屏幕,您可以使用zenity并获取输出,它将包含纯文本密码,例如:
    zenity--password--title“Security question:”

  • 很可能,您可以检测到程序需要输入。(如果您能以某种方式检测到输入stdhandle上的程序块)。但它希望输入的是基于解析输出的猜测。这不是一般情况。@MarcovandeVoort TProcess或其他软件包是否能够像操作控制台一样将击键输入回程序?TProcess本身是否有这种能力,或者它只是发送文本而没有任何反馈的可能性,除非进程本身有能力在TProcess的控制之外这样做?TProcess可以在另一个程序的std输入上发送二进制数据。另一个程序是否以及如何处理该数据取决于另一个程序