VB 托盘图标如何闪动的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:46:05
愿听真正的VB高手解答,并恳请注释一下程序,谢谢。

(网上复制来的都不行,我找了几天了,那些就省着吧。)

问题如下:
用VB测试一下托盘图标,API函数也有了的,固定图标的时候一切正常,可以有托盘图标,但就是无法实现闪动托盘图标和更换托盘图标。有文章说用TIMER实现,但我却怎么也实现不了。
在窗体里已有一个Picture1(0)和一个Picture1(1),有一个timer1,我应该如何让图标闪起来,和如何更换手动更换新的图标呢?

求教VB高手。

窗体代码如下,这段运行正常有效果:
Private Sub Form_Load()
TrayAddIcon Form1, "系统" '新建一个图标
End Sub

下面程序不能正常运行,也不知对不对:
Private Sub Timer1_Timer()
a = Not a
If a = True Then
TrayAddIcon Picture1, "演示"
Else
TrayAddIcon Picture2, "演示"
End If
End Sub
目前未有正确答案,几个答案都不行。

'我已经试过,没问题的。
'你说的都不行,估计是托盘图标模块与我的不同。
‘下面我把完整的模块贴出来,请复制下面代码,替换原来代码就可以。
'===窗体代码====
Private Sub Form_Load()
TrayAddIcon Form1, picture1(0).picture, "系统" '新建一个图标
End Sub
Private Sub Timer1_Timer()
a = Not a
If a = True Then
TrayIcon Picture1(0).Picture
Else
TrayIcon Picture1(1).Picture
End If
End Sub

'====模块代码modTray.bas====

Option Explicit

'使用高分辨率图标所用的API
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal dwImageType As Long, ByVal dwDesiredWidth As Long, ByVal dwDesiredHeight As Long, ByVal dwFlags As Long) As Long
Private Const LR_LOADFROMFILE = &H10
Private Const LR_LOADMAP3DCOLORS = &H1000
Private Const IMAGE_ICON = 1
'系统托盘
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA&quo