vb 动态显示托盘提示内容

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:20:12
Private Sub Timer5_Timer() '显示剩余时间
str = "离执行时间还有" & Abs(DateDiff("n", CDate(Text1.Text), Date) + DateDiff("n", CDate(Text2.Text), Time)) & "分钟。"
Label5.Caption = str

With nfIconData
.hWnd = Me.hWnd
.uID = Me.Icon
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle
'定义鼠标移动到托盘上时显示的Tip
.szTip = App.Title + "( " & App.Major & "." & App.Minor & "." & App.Revision & ")" & str & vbNullChar
.cbSize = Len(nfIconData)
End With
Call Shell_NotifyIcon(NIM_ADD, nfIconData)

End Sub

以上是源码, text.text是日期, text2.text是时间,str会随时间变化而变化。最小化托盘提示szTip引用了str,但szTip只会显示最开始的值,不会随时间变化而变化。我想做倒计时最小化托盘后能szTip够随着时间动态显示倒计时的剩余时间。请教高手,这该如何处理???
刚刚接触VB,能不能说得详细一点呢?最好修改我的代码再发上来。谢谢!!!!
高手呢?高手快来罗,急

第一次这样是没有问题的,在之后的调用中,因为托盘项已经存在,需要使用
Shell_NotifyIcon NIM_MODIFY, NotifyIcon
来更改托盘中的图标或信息。

这是关于的Shell_NotifyIcon第一个参数可用的三个常量的声明:
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1