在支持下打开
Open With Support
我希望能够使用“打开方式”打开文件,我知道如何将其添加到列表中,但是当我使用我的程序打开某些内容(例如 .txt 文件)时,没有任何反应。
假设我用我的程序打开了C:\chapter_1.txt,我怎么能找到打开的目录?
关于这个还有一些其他问题,但 none 似乎真正回答了我的问题(我是 C# 的新手,所以对我来说有点复杂)
您可以使用 args 参数从打开的文件中获取路径。
比如我做了一个console app,我用open with打开txt文件
代码:
static void Main(string[] args)
{
string path = "";
if(args.Length>0)
{
path = args[0];
Console.WriteLine(path);
}
string text = File.ReadAllText(path);
Console.WriteLine(text);
Console.ReadKey();
}
用控制台exe打开后,我们会得到文件路径和文件内容
更新:Winform
代码:
namespace TestWinform
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string []args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if(args.Length==0)
{
Application.Run(new Form1(""));
}
else
{
Application.Run(new Form1(args[0]));
}
}
}
}
public partial class Form1 : Form
{
public Form1(string path)
{
InitializeComponent();
this.textBox1.Text = path;
}
}
我希望能够使用“打开方式”打开文件,我知道如何将其添加到列表中,但是当我使用我的程序打开某些内容(例如 .txt 文件)时,没有任何反应。
假设我用我的程序打开了C:\chapter_1.txt,我怎么能找到打开的目录?
关于这个还有一些其他问题,但 none 似乎真正回答了我的问题(我是 C# 的新手,所以对我来说有点复杂)
您可以使用 args 参数从打开的文件中获取路径。
比如我做了一个console app,我用open with打开txt文件
代码:
static void Main(string[] args)
{
string path = "";
if(args.Length>0)
{
path = args[0];
Console.WriteLine(path);
}
string text = File.ReadAllText(path);
Console.WriteLine(text);
Console.ReadKey();
}
用控制台exe打开后,我们会得到文件路径和文件内容
更新:Winform
代码:
namespace TestWinform
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string []args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if(args.Length==0)
{
Application.Run(new Form1(""));
}
else
{
Application.Run(new Form1(args[0]));
}
}
}
}
public partial class Form1 : Form
{
public Form1(string path)
{
InitializeComponent();
this.textBox1.Text = path;
}
}