有没有办法或事件在运行时检索命令行参数

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 工作就像一个魅力,我什至不知道如何在谷歌搜索中调用这个事件,无论如何,再次感谢

以上是关于有没有办法或事件在运行时检索命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 CMake 命令行参数或 conanfile.py 中指定 VCToolsVersion?

在 Windows 脚本中读取命令行参数时,有没有办法转义逗号字符?

使用 electron-builder NSIS 安装程序安装后运行时如何传递命令行参数

在 Wix 中获取命令行参数

检索 Python 解释器的命令行参数

如何从 Dock 中的程序快捷方式中检索命令行参数?