【发布时间】:2014-01-14 08:41:13
【问题描述】:
我想使用 C# 以编程方式打开一个文本文件。我用过:
System.Diagnostics.Process.Start(test.txt);
但此代码在扫描威胁时会导致操作系统命令注入问题。
有什么方法可以以编程方式打开文本文件?或绕过该操作系统命令注入的方法?
谢谢
【问题讨论】:
标签: text operating-system command code-injection process.start
我想使用 C# 以编程方式打开一个文本文件。我用过:
System.Diagnostics.Process.Start(test.txt);
但此代码在扫描威胁时会导致操作系统命令注入问题。
有什么方法可以以编程方式打开文本文件?或绕过该操作系统命令注入的方法?
谢谢
【问题讨论】:
标签: text operating-system command code-injection process.start
你应该调用一个程序,比如记事本:
Process.Start("notepad.exe", fileName);
参数是文件名:
Process.Start("notepad.exe", "Test.txt");
在这篇文章的 cmets 中查看您的代码存在的问题: Open a file with Notepad in C#
【讨论】:
试试:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new
System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
string _path = "c:/filepath";
startInfo.Arguments = string.Format("/C start {0}", _path);
process.StartInfo = startInfo;
process.Start();
【讨论】: