请教一个删除托盘图标的问题
软件系统分了前台显示和后台计算两个部分,当前台根据相关判断,认为后台程序需要重新启动时,将后台程序关闭再重启。由于后台程序是隐藏到托盘的,所以关闭后台程序的同时需要删除其图标。
目前我的处理方式是这样的:1.根据程序名称获取进程ID,2。通过进程ID获取后台的主窗体句柄。3.通过窗体句柄删除其托盘图标。
删除方法如下:
上述方法,在后台程序的退出代码里使用me.hwnd获取其句柄删除图标是可行的,可是通过前台程序怎么就不行了呢?
目前我的处理方式是这样的:1.根据程序名称获取进程ID,2。通过进程ID获取后台的主窗体句柄。3.通过窗体句柄删除其托盘图标。
删除方法如下:
'删除程序的托盘图标
Sub EdlDel(ByVal hWnd As Long)
With MyNotify
.uId = 0
.uFlags = NIF_ICON
.cbSize = Len(MyNotify)
.hWnd = hWnd 'frm.HWnd 是程序主窗体的句柄
End With
Shell_NotifyIcon NIM_DELETE, MyNotify
End Sub上述方法,在后台程序的退出代码里使用me.hwnd获取其句柄删除图标是可行的,可是通过前台程序怎么就不行了呢?
...全文


API
