我可以通过shell调用我的外部程序的通知图标吗?

时间:2013-12-02 04:23:14

标签: vb.net exe notifyicon multiple-projects

我正在开发一个exe程序(A),它有链接调用另一个exe(B)。但是,我有一个问题是为exe(B)设置通知图标。

这里编码调用exe(B):

Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

    Shell("C:\\programB.exe", AppWinStyle.NormalFocus)

End Sub

如何将通知图标放到exe(B)?

1 个答案:

答案 0 :(得分:0)

您无法在运行时修改应用程序..但是,您可以保留应用程序B的过程,然后您可以在任务栏中显示通知图标,直到应用程序运行。

Dim bHasNotifyIcon As Boolean = False
Dim process As Diagnostics.Process = Diagnostics.Process.Start("D:\ProgrammB.exe")

If Not process.HasExited Then 
    bHasNotifyIcon = True
    'Show Notify Icon
End If

Do While (Not process.HasExited)
    'Do nothing
Loop

'Hide Notify icon if application is running
If bHasNotifyIcon Then 
    'Hide Notify Icon
End If

注意:不要忘记在不同的线程中运行上面的代码,否则会挂起应用程序。并且当您尝试从不同的线程访问UI时,它可能会出错。

是的,我知道这是最脏的方法。但是,我不知道任何其他方法。