Значок экземпляра моего приложения меняется на значок основного исполняемого файла, когда я закрепляю его на панели задач.
Я запускаю два экземпляра одного и того же исполняемого файла с разными аргументами командной строки для целевого пути. Как показано ниже
Во время выполнения я установил разные значки для каждого экземпляра, а также установил значок по умолчанию для основного исполняемого файла в свойствах проекта.
Следующий код используется для запуска основного исполняемого файла в приложении запуска:
Call Shell(Chr(34) & My.Application.Info.DirectoryPath & "\main.exe" & Chr(34) & " " & VB.Command(), AppWinStyle.NormalFocus)
В основном исполняемом файле приведенный ниже код используется для загрузки значков на основе аргумента командной строки:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If VB.Command() = "Test1" Then
Me.Icon = New Icon("path of icon1")
ElseIf VB.Command() = "Test2" Then
Me.Icon = New Icon("path of icon2")
End If
End Sub
При запуске двух экземпляров значки правильно загружаются на панель задач. Однако если я прикреплю работающий экземпляр к панели задач, значок изменится на значок основного приложения, который я установил в свойствах проекта.
Я протестировал это поведение с исполняемым файлом Chrome, создав новый профиль и закрепив его на панели задач во время работы. При обнаружении в списке переходов была ссылка на новый профиль (т. е. присутствовал аргумент командной строки целевого пути).
Однако когда я запускаю один из экземпляров своего приложения и проверяю его, он имеет ссылку на основной исполняемый файл.
Наблюдения: Если я прикреплю экземпляр к панели задач, не запуская его, значки не меняются. Кроме того, я вижу аргумент командной строки в окне свойств, как показано ниже:
Я хотел бы знать, что приводит к изменению значка работающего экземпляра, когда он закреплен на панели задач.
Я хочу сохранить значок экземпляра даже после его открытия и закрепления на панели задач, и я хочу, чтобы целевой путь включал его аргумент командной строки. Как я могу добиться этого программно?