我按照以下步骤将字符串输入从C#传递到控制台:
将输入字符串传递给控制台的方法是什么?
我正在尝试使用writeConsoleInput(),通过pInvoking Kernel32.dll,但我被困在这个函数的参数上。功能签名是:
[DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool WriteConsoleInput(IntPtr hConsoleInput,
[Out] INPUT_RECORD[] lpBuffer,
int nLength,
out int lpNumberOfEventsWritten);
有人可以帮我成功调用WriteConsoleInput()或提供替代选项。
非常感谢!
答案 0 :(得分:1)
问题的细节似乎是这个评论:
我杀了Perl进程。我想跑一个 之后命令提示符命令。
控制台本身就是愚蠢的。除了接收输入和显示输出之外,它无法做任何事情。要运行命令,您需要一个命令解释器。在Windows上,这是cmd.exe。找到命令解释器路径的通用方法是读取COMSPEC环境变量。
因此,您将需要启动一个新的命令解释程序进程来运行您的命令。启动此新进程时,将该命令作为参数传递。