打开自定义文件,args始终为空

时间:2015-02-25 23:56:36

标签: c# .net windows winforms

我有C#WinForm .NET 4.5应用程序。我设置项目 - >属性 - >发布 - >选项 - >文件关联。这部分似乎工作,因为它设置我选择的图标,如果我双击自定义扩展名的文件(在这种情况下* .psi)它打开我的应用程序。但我很难获得双击的文件名。不知怎的,我的静态void Main(string [] args)args总是空的。 我使用ClickOnce部署方法。

任何人都可以帮助我使用我的应用程序打开自定义文件。

static void Main(string[] args)
    {
        if(args.Length > 0)
        {
            MessageBox.Show(args[0]);
        }else {
          MessageBox.Show("args is empty!");
        }

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        DevExpress.Skins.SkinManager.EnableFormSkins();

        UserLookAndFeel.Default.SetSkinStyle(Properties.Settings.Default.ActiveSkinName);


        Application.Run(new MainForm(args));
    }

1 个答案:

答案 0 :(得分:2)

找到解决方案here.

  

当您使用ClickOnce发布应用程序,然后通过双击关联文件启动它时,该文件的路径实际存储在此处:

     

<强> AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData [0]

     

请在此处查看MSDN的文档:

     

http://msdn.microsoft.com/en-us/library/system.runtime.hosting.activationarguments.aspx

     

另外还有一个关于向“已发布”项目添加文件关联的教程:

     

http://blogs.msdn.com/b/mwade/archive/2008/01/30/how-to-add-file-associations-to-a-clickonce-application.aspx