我的要求是当我点击我的应用程序的一个按钮(C#windows窗体)时,应该在记事本中打开一个已经存在的txt文件。
我已经尝试过以上代码:
private void btn1_Click(object sender, EventArgs e)
{
Process p = new Process();
String str = txt1.Text;
ProcessStartInfo ps = new ProcessStartInfo("C:\\Users\\gaurav_joshi\\My Documents\\test.txt");
ps.UseShellExecute = false;
ps.RedirectStandardInput = true;
p.StartInfo = ps;
p.Start();
p.StandardInput.Write("This is a test.");
p.StandardInput.Flush();
p.StandardInput.Close();
}
但是当我运行该程序时,会发生异常,如下所示 Win32异常 “指定的可执行文件不是此OS平台的有效应用程序”
使用streamReader我可以读取文件,但我想启动记事本或wordpad本身来读取该特定的现有文件。
有人可以帮我解决上述问题
答案 0 :(得分:6)
您可以试试这个:
Process.Start("notepad.exe", "C:\\Users\\gaurav_joshi\\My Documents\\test.txt")
答案 1 :(得分:1)
您需要执行 notepad.exe 并将其作为命令行参数传递给它。
如果您尝试调用有关文件关联的行为(即尝试调用 .txt 文件会自动在 notepad.exe 中打开它),那么{ {1}} is not what you want (note link).
答案 2 :(得分:1)
您需要做的就是使用以下代码:
Process.Start("C:\\Users\\gaurav_joshi\\My Documents\\test.txt");
如果您还没有,可能需要这样做:
Using System.Diagnostics;
这将在默认文本编辑器中打开文本文件,在记事本中打开它,使用它:
Process.Start("notepad.exe", "C:\\Users\\gaurav_joshi\\My Documents\\test.txt");
答案 3 :(得分:0)
试试这个:
System.Diagnostics.Process.Start("C:\\Users\\gaurav_joshi\\My Documents\\test.txt");
答案 4 :(得分:0)