我一直试图让我的参数传递给我在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传递给我的主?
答案 0 :(得分:1)
如果在命令提示符下运行“ftype”,程序类型应显示为:
YOURTYPE="yourProgram.exe" "%1"
如果"%1"
没有以完全相同的方式出现,那么关联是错误的(它不会将文件的名称作为参数传递)。试一试。