Есть ли способ или событие для получения аргументов командной строки во время выполнения

поэтому я пытаюсь сделать медиаплеер до сих пор, я нахожусь на заключительном этапе, чтобы опубликовать свой медиаплеер, чтобы люди могли его загрузить. У меня просто проблема, когда мне нужно захватить аргумент командной строки во время выполнения, пока я проверил запуск только одного экземпляра приложения, и я могу получить аргумент командной строки при использовании Open With из проводника Windows, он работает, но мне нужно иметь возможность получать аргументы командной строки во время выполнения, предположим, что вы используете мое приложение, вы слушаете музыку и нашли музыку, которая вам нравится, в папке на вашем компьютере, вам так лень переключаться в приложение и использовать кнопку открытия файла, что вы просто хотите дважды щелкнуть песню и начать слушать , теперь, если приложение закрыто, когда вы дважды щелкаете по песне, оно будет воспроизводиться без проблем, но если приложение запущено, оно не будет воспроизводиться, окна просто переключатся на приложение. Итак, вопрос: есть ли событие или способ поймать, передается ли аргумент командной строки приложению во время выполнения?


person Anes Hamdani    schedule 27.04.2020    source источник


Ответы (1)


Поскольку вы указали, что сделали приложение приложением с одним экземпляром, очень вероятно, что вы используете структуру приложений VB. Эта платформа предоставляет Событие StartupNextInstance. Из документации по этому событию.

Вы должны использовать свойство CommandLine параметра e, чтобы получить доступ к аргументам для последующих попыток запуска приложения с одним экземпляром.

Чтобы добавить обработчик для этого события, вы можете использовать конструктор для создания обработчика через Меню проекта->PropjectName Properties->Application Tab-View Application Events Button или просто скопируйте следующее в файл кода в вашем проекте.

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
person TnTinMn    schedule 27.04.2020
comment
Спасибо @TnTinMn Работает как шарм, я даже не знал, как назвать это событие в поиске Google, в любом случае, еще раз спасибо - person Anes Hamdani; 28.04.2020