如何识别启动我的应用程序的文件
How do I identify the file that launched my application
我正在尝试将应用程序与特定文件类型相关联,然后在应用程序启动时使用该文件。 Create File Associations For a ClickOnce Application:
很简单
这目前有效,所以如果我有一个扩展名为“.tester”的文件,我的 Click Once Deployed 应用程序将会启动。
我遇到的问题是确定启动应用程序的文件。
根据问题What Event is Triggered When Opening a Custom File?, the "file should be available from the command line args", and this Scott Hanselman Article confirms。
但是,当我添加以下代码时,在启动应用程序时除了可执行文件的路径之外我没有得到任何东西。
Dim args = Environment.GetCommandLineArgs()
MsgBox(Join(args, ", "))
我已确认我正在获取所有命令行参数。当我使用一些虚假参数从实际命令行启动文件时:
C:\FileHandler.exe -foo bar
应用程序将显示以下内容:
如何识别启动应用程序的文件?
ClickOnce 不通过标准命令行参数,而是通过 ActivationArguments。
您的文件信息应该可以通过
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData
我正在尝试将应用程序与特定文件类型相关联,然后在应用程序启动时使用该文件。 Create File Associations For a ClickOnce Application:
很简单这目前有效,所以如果我有一个扩展名为“.tester”的文件,我的 Click Once Deployed 应用程序将会启动。
我遇到的问题是确定启动应用程序的文件。
根据问题What Event is Triggered When Opening a Custom File?, the "file should be available from the command line args", and this Scott Hanselman Article confirms。
但是,当我添加以下代码时,在启动应用程序时除了可执行文件的路径之外我没有得到任何东西。
Dim args = Environment.GetCommandLineArgs()
MsgBox(Join(args, ", "))
我已确认我正在获取所有命令行参数。当我使用一些虚假参数从实际命令行启动文件时:
C:\FileHandler.exe -foo bar
应用程序将显示以下内容:
如何识别启动应用程序的文件?
ClickOnce 不通过标准命令行参数,而是通过 ActivationArguments。
您的文件信息应该可以通过
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData