(警告:这是一个C#n00b问题!尝试学习一些C#,同时让我经常运行的控制台应用程序变得更容易。)
我正在尝试运行一个控制台应用程序(consoleapp.exe
),而不必每次都手动输入参数 - 该命令通常是这种形式:
C:/consoleapp.exe --username (uname) --password (pass) --inputfile "c:/pathtofile/filename.xml"
使用C#我甚至可以加载Windows资源管理器文件提示,而不必每次都手动输入文件路径。我该怎么做呢?
我尝试了snippet at this link。我只需将ApplicationPath
替换为我的cojnsole应用程序的路径,并将ApplicationArguments
替换为上述格式中显示的参数,但我不知道如何连接使用VC#GUI工具的参数,或者中继我从原始控制台应用程序获得的输出。
答案 0 :(得分:9)
这不是上述问题的答案 - 请参阅上述问题的评论。
在项目属性对话框中,在调试标签上,您可以定义命令行参数和工作目录。< / p>
答案 1 :(得分:0)
这是一些运行带有参数的控制台应用程序并处理输出的示例代码。
private static Process PrepareTfProcess(string args)
{
return new Process
{
StartInfo =
{
CreateNoWindow = true,
FileName = @"consoleapp.exe",
Arguments = args,
RedirectStandardOutput = true,
UseShellExecute = false
}
};
}
//...
using (var process = PrepareTfProcess("--param1 --param2"))
{
while (!process.StandardOutput.EndOfStream)
{
string str = process.StandardOutput.ReadLine();
// Process output lines here
}
}
//...