如何识别启动我的应用程序的文件

时间:2016-01-04 20:41:22

标签: .net vb.net winforms clickonce

我正在尝试将应用程序与特定文件类型相关联,然后在应用程序启动时使用该文件。这对Create File Associations For a ClickOnce Application来说非常简单:

Publish Options > File Associations

这当前有效,所以如果我的文件扩展名为“.tester”,我的Click Once Deployed应用程序将会启动。

我遇到问题的问题是识别启动应用程序的文件

根据问题What Event is Triggered When Opening a Custom File?,“文件应该可以从命令行args”和Scott Hanselman Article confirms获得。

但是,当我添加以下代码时,除了解压缩应用程序的路径之外,我什么也得不到。

Dim args = Environment.GetCommandLineArgs()
MsgBox(Join(args, ", "))

Command Line Args

我已经确认我正在获取所有命令行参数。当我从实际的命令行启动文件时带有一些伪造的参数:

C:\FileHandler.exe -foo bar

应用程序将显示以下内容:

args 2

如何识别启动应用程序的文件?

1 个答案:

答案 0 :(得分:1)

ClickOnce不会通过标准命令行参数,而是通过ActivationArguments

您的文件信息应该可以通过 AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData