【问题标题】:Is there a way or event to retrieve command line arguments on runtime有没有办法或事件在运行时检索命令行参数
【发布时间】:2020-08-11 15:20:51
【问题描述】:

所以我正在尝试制作一个媒体播放器,到目前为止我正处于发布我的媒体播放器供人们下载它的最后阶段我只是遇到了一个问题,我需要在运行时捕获命令行参数,到目前为止,我只检查了运行该应用程序的一个实例,并且当从 Windows 资源管理器中使用 Open With 时,我可以接收命令行参数,但我需要做的是能够在运行时接收命令行参数,假设你'正在使用我的应用程序,你正在听音乐,你在电脑上的文件夹中找到了你喜欢的音乐,你懒得切换到应用程序并使用打开文件按钮,你只想双击这首歌并开始收听,现在如果应用程序在您双击歌曲时关闭,它将毫无问题地播放,但如果应用程序正在运行,它不会播放窗口只会切换到应用程序。 所以问题是:如果命令行参数在运行时传递给应用程序,是否有事件或方法可以捕获?

【问题讨论】:

    标签: vb.net command-line-arguments media-player windows-explorer .net-4.6.1


    【解决方案1】:

    既然您已经表明您将应用程序设为单实例应用程序,那么您很可能正在使用 VB 的应用程序框架。这个框架公开了StartupNextInstance Event。来自该事件的文档。

    您必须使用 e 参数的 CommandLine 属性来访问参数,以便后续尝试启动单实例应用程序。

    要为该事件添加处理程序,您可以使用设计器通过项目菜单->项目名称属性->应用程序选项卡-查看应用程序事件按钮来创建处理程序,或者只需将以下内容复制到项目中的代码文件中。

    Imports Microsoft.VisualBasic.ApplicationServices
    
    Namespace My
      Partial Friend Class MyApplication
        Private Sub MyApplication_StartupNextInstance(sender As Object, e As StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
          ' use e.CommandLine
        End Sub
      End Class
    End Namespace
    

    【讨论】:

    • 谢谢@TnTinMn 工作就像一个魅力,我什至不知道如何在谷歌搜索中调用这个事件,无论如何,再次感谢
    猜你喜欢
    • 2022-10-21
    • 2011-01-10
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多