[英]C# No Arguments Being Passed to Main
我一直在尝试将参数传递给C#中的main方法。 主要是我只想捕获双击的文件路径。 我的文件带有自定义扩展名,当它运行时打开我的程序。 那部分起作用。
static string file = "";
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
if (args.Length > 0) file = args[0];
Application.Run(new Form1());
}
public Form1()
{
InitializeControls();
}
我也尝试过这种方式,没有太大区别。
static string file = "";
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
string[] args = Environment.GetCommandLineArgs();
if (args.Length > 0) file = args[0];
Application.Run(new Form1());
}
public Form1()
{
InitializeControls();
}
值得一提的是,我在部分课程中有这个。 我不知道这是否直接影响到它。
如果我只要双击就可以得到文件,那么我并不需要获取args,但是我觉得那是唯一的方法,现在我很好奇。
我缺少什么使我无法将args传递给我的主设备?
如果在命令提示符下运行“ ftype”,则程序类型应显示为:
YOURTYPE="yourProgram.exe" "%1"
如果"%1"
并非以这种方式出现,则关联是错误的(它不会将文件名作为参数传递)。 试试看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.