我的代码看起来或多或少像下面的代码,但它不会从我正在打开的应用程序(记事本)中检索文本。也许我错过了这一点。有人可以解释标准输出流是什么,实际上,如果我想打开一个应用程序然后检索它显示的文本,我是否想要使用它?
ProcessStartInfo psi = new ProcessStartInfo("notepad.exe", "c:\\test.txt");
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
Process p = new Process();
p.StartInfo = psi;
p.Start();
string s = p.StandardOutput.ReadToEnd();
答案 0 :(得分:3)
来自Wikipedia文章:
在计算机编程中,标准流是预先连接的输入和 计算机程序与其环境之间的输出通道 (通常是文本终端)开始执行时。三个I / O. 连接称为标准输入(stdin),标准输出 (stdout)和标准错误(stderr)。
如Joe所述,写入标准输入和输出的信息通常在控制台应用程序之间链接在一起。 Windows应用程序中显示的文本通常不遵循此模式,但它们确实有3个可用的标准流,它们通常不会写入它们。
答案 1 :(得分:2)
有三个标准流输入输出和错误。它们主要由控制台程序用于相互发送和输出。记事本是一个gui程序,标准输出和标准的概念并没有真正映射。使用的示例是dir | fndstr hi
,在这种情况下,命令dir将其输出发送到fndstr的标准输入。
答案 2 :(得分:1)
标准输出流主要用于控制台输出。例如,如果在python中,则执行
print('hello world')
它将打印到标准输出流(也称为标准输出)。
要做你想做的事,你需要打开带有参数位置的记事本,要求用户以某种方式保存文件,然后读取用户保存的文件。