在支持下打开

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;
        }
    }