【问题标题】:How to get command line from a ClickOnce application?如何从 ClickOnce 应用程序获取命令行?
【发布时间】:2011-06-04 04:55:31
【问题描述】:

在发布之前,我去了项目 -> 属性 -> 选项 -> 文件关联并添加了扩展名“.hsp”。设置一个图标和一个 ProgID(“MyCompany.Document.1”用于测试)。在我发布和安装后,我的 .hsp 文件有我设置的图标,所以文件关联应该正确设置,但是当我双击这些文件之一时,应用程序运行并且我希望我双击的文件的名称是在命令行中。我尝试读取传递给我的Main 函数的参数,尝试Environment.CommandLine,并尝试Environment.GetCommandLineArgs(),但我发现的唯一内容是应用程序路径。顺便说一句,在Main 函数中创建我的主表单之前,我正在做所有这些检查,只是为了测试。 args 参数为空,另外两个只包含我的应用路径。

这是我的Main函数的开始:

    static void Main(string[] args)
    {
        try
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
            MessageBox.Show("CommandLine -> " + Environment.CommandLine);
            foreach (string str in args) MessageBox.Show("args -> " + str);
            foreach (string str in Environment.GetCommandLineArgs()) MessageBox.Show("GetCommandLineArgs -> " + str);

【问题讨论】:

    标签: c# .net winforms visual-studio-2010 clickonce


    【解决方案1】:

    当您使用 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

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 2023-03-27
      • 2010-09-30
      • 2017-07-12
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多