我是编程世界的新手。
我有一个数据提取程序,它将MySQL中的数据提取到word模板文件中。我不明白主程序如何知道传递给参数的参数。运行exe时,程序如何知道"Haha, I need to pass a string in there, And it is precisely this string right here"
???。
编辑: 该程序应该在按下“提取按钮”时运行,但exe程序如何知道字符串arg参数在哪里? exe从哪里得到它?
主要代码
private static void Main(string[] args)
{
try
{
if (args[0] == "ALL" || args[0] == "*" || args[0] == "all")
{
PrintARs();
Console.Read();
}
else
{
CreateARDocument(args[0]);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.Read();
}
}
答案 0 :(得分:2)
有很多方法:
答案 1 :(得分:1)
从你的代码中可以看出一些想法
如果您的应用程序名为app.exe
如果你跑了
app.exe 1 2 3 4 5
你会args[] = { 1,2,3,4,5}
并且可以浏览它们
如果你跑了
app.exe /all c:\my stuff\a.txt
你会得到args[] = { /all, c:\my, stuff\a.txt }
你的代码看第一个arg并说它是“ALL,*或all”..所以写“All”的尴尬人会输掉......然后将他们编写的arg发送到功能可按。
答案 2 :(得分:0)
如果您从命令行执行此操作,那么它将是
myApp.exe "arg0" "arg1" "arg2"
答案 3 :(得分:0)
在ExtractButton内部点击事件:
System.Diagnostics.Process.Start("PATH to your exe file", "Command Line Arguments");
命令参数的顺序与它们在args []数组中的顺序相同。
答案 4 :(得分:0)
您可能已经注意到解决方案中始终有Program.cs
个文件。这就是您的Main()
方法所在的位置。在Windows窗体项目中,它不接受string []参数,但您可以更改它,然后它运行您的应用程序。