我最近为 C# 制作了一个类似记事本的程序,并找到了一个使用文件关联的库。我想知道如何将在资源管理器中双击的文件的路径传递给一个字符串,以便文件可以读取和“打开”文本文件(就像记事本一样)。我google了一段时间,问了几个论坛,还有我的朋友。任何正确方向的答案或轻推表示赞赏。谢谢你
(注意:我已经尝试从其他人建议的string[] args
参数中读取它)Main()
编辑:已解决,它是args[0]
. 当我开始做这个的时候我真的很累
我最近为 C# 制作了一个类似记事本的程序,并找到了一个使用文件关联的库。我想知道如何将在资源管理器中双击的文件的路径传递给一个字符串,以便文件可以读取和“打开”文本文件(就像记事本一样)。我google了一段时间,问了几个论坛,还有我的朋友。任何正确方向的答案或轻推表示赞赏。谢谢你
(注意:我已经尝试从其他人建议的string[] args
参数中读取它)Main()
编辑:已解决,它是args[0]
. 当我开始做这个的时候我真的很累
这对我来说很好!
public static void Main(string[] args){
if (args.Length == 0){
// Show your application usage or show an error box
return;
}
string file = args[0];
Application.Run(new MyProgram(file));
}
建议是正确的,您在资源管理器中双击的文件名将作为 args 参数在您的应用程序中可见。然后你可以用它做你喜欢的事,比如打开一个文件。
我刚刚制作了以下程序
使用此程序打开文件时,它会告诉我文件的路径。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(args.Length);
foreach (string s in args)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
我的输出是
1
C:\Users\MyUserName\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\New Text Document.txt
您可能想通过使用 file.openWith 来执行类似的程序,看看会发生什么。