'创建和更改 Windows 系统托盘中的图标。
'IconToSys(hWind As Dword ,uID As Dword, zyIco As String ,Tip As String )
'hWind  窗口号
'uID      图标号，其它用什么都可以，只是取消时要记得用同样的号，就可以了。
'zyIco 显示的图标，为图像库里的 图像预览后面的文字
'Tip     提示
' IconToSysUn(hWind As Dword ,Uid As Dword )  '删除任务栏图标
' IconToSysX(hWind As Dword  ,Uid As Dword,zyIco As String) '修改图标
' IconToSysT(hWind As Dword  ,Uid As Dword,Tip As String) '修改提示
'窗口启动时创建
'Function FORM1_WM_CREATE ( _
'       IconToSys   hWndForm,1,"image_audiograbber","dddddqwerwrwr"
'窗口关闭时删除
'Function FORM1_WM_CLOSE ( _
'  IconToSysUn  hWndForm,1
'接收任务栏图标消息
'Function FORM1_CUSTOM ( _
'       If %WM_User + 400=  wMsg Then
'            Select Case As Long LoWrd(lParam)
'        ' 按下左的按钮
'        Case %WM_LButtonDown
'        ' 按下右按钮
'        Case %WM_RButtonDown
'                TrackPopupMenu hMenu, 0, p.x, p.y, 0, hDlg, ByVal %NULL '比方说弹出菜单
'        End Select
Sub IconToSys(hWind as HWnd ,uID as DWord, zyIco as CWSTR  ,Tip as CWSTR  )
   Dim  ti    as NOTIFYICONDATAA ,s as wString *128
        ti.cbSize           = SizeOf(NOTIFYICONDATA)
        ti.HWnd             = hWind
        ti.uID              = uID'图标号，其它用什么都可以，只是取消时要记得用同样的号，就可以了。
        ti.uFlags           = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
        ti.uCallbackMessage = WM_User + 400' 向窗口发送的消息，可以自己定，只要与接受到的处理相同就可以了
        s=zyIco
        ti.hIcon            = LoadIconW(app.hInstance,@s) 'zyIco 为图像库里的 图像预览后面的文字
        ti.szTip            = Tip     '提示
        Shell_NotifyIconA NIM_ADD, @ti ' '加入任务栏图标
        DestroyIcon ti.HICON '销毁一个图标并且释放该图标所占用的内存；
  
End Sub
'--------------------------------------------------------------------------
Sub IconToSysUn(hWind as HWnd ,Uid as DWord )  '删除任务栏图标
         Dim  ti    as NOTIFYICONDATA
        ti.cbSize           = SizeOf(NOTIFYICONDATA)
        ti.HWnd             = hWind
        ti.uID              = Uid '图标号，其它用什么都可以，只是取消时要记得用同样的号，就可以了。

          Shell_NotifyIcon NIM_DELETE, @ti

End Sub
Sub IconToSysX(hWind as HWnd  ,Uid as DWord,zyIco as CWSTR ) '
         Dim  ti as NOTIFYICONDATA ,s as wString *128
        ti.cbSize           = SizeOf(NOTIFYICONDATA)
        ti.HWnd             = hWind
        ti.uID              = Uid '图标号，其它用什么都可以，只是取消时要记得用同样的号，就可以了。
        ti.uFlags           = NIF_ICON 
        s=zyIco
        ti.HICON            = LoadIconW(app.hInstance,@s) 'zyIco 为图像库里的 图像预览后面的文字
            Shell_NotifyIcon NIM_MODIFY, @ti
            DestroyIcon ti.HICON

End Sub
Sub IconToSysT(hWind as HWnd  ,Uid as DWord,Tip as CWSTR ) '
         Dim  ti    as NOTIFYICONDATA 
        ti.cbSize           = SizeOf(ti)
        ti.HWnd             = hWind
        ti.uID              = Uid'图标号，其它用什么都可以，只是取消时要记得用同样的号，就可以了。
        ti.uFlags           = NIF_TIP 
        ti.szTip            = Tip     '提示
            Shell_NotifyIcon NIM_MODIFY, @ti

End Sub