问题描述
一直在搜索,但令人惊讶的是找不到这个特定问题:
使用 C#,我想(通过单击表单中的按钮)使用某个应用程序运行某个文件。
当使用“Process.start(variable)”时,我只能选择两者之一。
通过使用“Process.startinfo.filename”(如:https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.filename?view=net-5.0),情况似乎也是如此。
难道不能以某种“简单”的方式将两者结合起来吗?
谢谢。
解决方法
通常,您会使用命令参数(即“notepad.exe file.txt”)运行带有应用程序的文件。
如果您尝试启动的应用程序可以这样做,那么您只需将 Filename
的 StartInfo
属性设置为名称(如果在 PATH 中),或者应用程序的完整路径和文件路径的 Arguments
属性。
var process = new Process();
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.Arguments = "C:\\{pathToFile}\\file.txt";
process.Start();
上面的代码将启动记事本打开 file.txt。您可以简单地将 FileName
和 Arguments
替换为包含应用程序和文件路径的变量。