Я новичок в VB и программировании в целом, и я мог бы воспользоваться небольшим руководством. Мне удалось создать свое приложение так, как я хочу, но мне просто нужна еще одна деталь ... Действие ярлыка на рабочем столе.
Есть ли способ запустить определенную форму в моем проекте с ярлыка на рабочем столе? В приложении в трее есть 5 форм, и я хотел бы иметь возможность запускать одну, в частности, с ярлыка на рабочем столе. Я не смог найти ничего, связанного с этим; возможно, из-за неправильной формулировки, и я предполагаю, что мне нужно использовать аргументы командной строки, но я не уверен, как реализовать это в моем проекте.
Вот код модуля, который у меня есть на данный момент.
Imports Microsoft.Win32
Module Module1
Private MyNotifyIcon As NotifyIcon 'ICON IN SYSTEM TRAY COMPONENT
Private MyContextMenu As ContextMenu 'CONTEXT MENU WHEN ITEM IS CLICKED ON
Private WithEvents Tray As NotifyIcon
Public Sub Main()
Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", Application.ProductName, Application.ExecutablePath, RegistryValueKind.String)
'CREATE INSTANCES OF OBJECTS WE NEED
MyNotifyIcon = New NotifyIcon
MyContextMenu = New ContextMenu
MyNotifyIcon.Icon = My.Resources.co 'SET AN ICON (ICON IS A RESOURCE IN THE PROJECT)
MyNotifyIcon.Visible = True 'SET VISIBLE
'ADD CAPTIONS AND EVENT HANDLERS FOR ITEMS IN CONTEXT MENU
MyContextMenu.MenuItems.Add("Support Ticket", AddressOf Ticket)
MyContextMenu.MenuItems.Add("Quick Self-Help", AddressOf SelfHelp)
MyContextMenu.MenuItems.Add("Instant Support", AddressOf Support)
MyContextMenu.MenuItems.Add("System Information", AddressOf SysInfo)
MyContextMenu.MenuItems.Add("-")
MyContextMenu.MenuItems.Add("About", AddressOf About)
'MyContextMenu.MenuItems.Add("-")
'MyContextMenu.MenuItems.Add("Exit", AddressOf ExitApplication)
If (Control.ModifierKeys = Keys.Shift) Then
MyContextMenu.MenuItems.Add("Tools", AddressOf Tools)
End If
MyNotifyIcon.ContextMenu = MyContextMenu 'ASSIGN CONTEXT MENU TO ICON
Application.Run()
End Sub
'DELEGATE SUB TO EXIT APPLICATION
Private Sub ExitApplication(ByVal sender As Object, ByVal e As EventArgs)
'CLEAN UP YOUR OBJECTS
MyContextMenu.Dispose()
MyNotifyIcon.Dispose()
'EXIT APPLICATION LOOP
Application.Exit()
End Sub
'SysInfo form
Private Sub SysInfo(ByVal sender As Object, ByVal e As EventArgs)
Dim SysInfo As New formSysInfo
SysInfo.Show()
End Sub
'Self Help form
Private Sub SelfHelp(ByVal sender As Object, ByVal e As EventArgs)
Dim Tools As New formTools
formTools.Show()
End Sub
'Support form
Private Sub Support(ByVal sender As Object, ByVal e As EventArgs)
Process.Start("https://weblink.com")
End Sub
'Ticket form
Private Sub Ticket(ByVal sender As Object, ByVal e As EventArgs)
Dim Ticket As New formTicket
formTicket.Show()
End Sub
'Double Click Action - Planned
'About form
Private Sub About(ByVal sender As Object, ByVal e As EventArgs)
Dim About As New formAbout
formAbout.Show()
End Sub
End Module