允许自定义的文件,双击打开我的应用程序,同时加载的数据我的、自定义、双击、应用程序

2023-09-04 03:39:11 作者:╭乜許、结束╮

当你犯了一个参考的窗口,打开.txt文件,就像,它可能会打开NOTEPAD.EXE和或Word.exe,在加载从文件中的文本到编辑器。我怎样才能做到这一点与我的桌面应用程序。我有它的自定义文件类型的扩展名为.mmi。我想这样,当用户双击此文件类型不仅会打开我的应用程序,但加载在它的数据到我的应用程序的相应区域。我知道如何设置自定义文件类型为我的应用程序设置,但如果我失去的是如何获取文件信息触发打开我的应用程序,这样我可以从它那里得到的数据。

例如。如果我打开一个.html和选择使用NOTEPAD.EXE,在HTML现在在新打开的文本编辑器打开。

苹果手机怎么添加新铃声

这是一个从应用程序,而不是一个控制台,与主要具有的args开始关闭应用程序,柜面,帮助或改变任何东西。

下面的例子:

 公共部分类FormDashboard:表
{
    公共FormDashboard()
    {
        的InitializeComponent();
    }

    私人无效FormDashboard_Load(对象发件人,EventArgs的)
    {


         //我要得到什么文件触发的应用程序在这里开设,并相应地应用数据throurght的表单应用程序。

    }
 

解决方案

在回答你的问题是没有什么不同的WinForms应用程序和控制台应用程序。

.mmi 文件触发您的应用程序将是路径的args [0] 在您的应用程序的方法(假设签名主要(字串[] args))。

因此​​,了解什么 .mmi 文件是双击来触发您的应用程序将主要来自由 - 你告诉Windows打开之后。 MMI 与您的应用程序文件。

下面是一个例子 - 在这里我只是用一个文本文件 Test.mmi 和一个简单的控制台应用程序 ConsoleApplication1 对于在PoC:

  / *
 * Program.cs中
 * /

使用系统;
使用System.IO;

命名空间ConsoleApplication1
{
    类节目
    {
        静态无效的主要(字串[] args)
        {
            如果(args.Length大于0)
            {
                //打开并显示在双击.mmi文件中的文本。
                Console.WriteLine(File.ReadAllText(参数[0]));
            }

            //暂停5秒钟看到双击文件的文本。
            Thread.sleep代码(5000);
        }
    }
}
 

告诉Windows打开 .mmi 文件 ConsoleApplication1.exe ConsoleApplication1之后。 exe文件显示 Test.mmi文本