VB 6.0中如何实现把程序放到系统托盘方法二_Volcanol_百度空间
源码来源于:http://zhidao.baidu.com/question/132398389.html?si=1
在此感谢:

呵呵这个简单的:我给你举个简单的例子比如按下按钮1就显示小图标了,按钮2删除小图标!
窗体里添加个PictureBOX控件
窗体代码:Private Sub Command1_Click()
AddIcon Form1.Picture1, "这里写你鼠标停留时的显示的文字", Form1
End Sub

Private Sub Command2_Click()
DeleteIcon Picture1
End Sub

Private Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Select Case X
Case trayLBUTTONDOWN

Case trayLBUTTONUP

Case trayLBUTTONDBLCLK

Form1.Visible = True
Case trayRBUTTONDOWN

Form1.PopupMenu mnuFile, vbRightMenuAlign
Case trayRBUTTONUP

Case trayRBUTTONDBLCLK

Case trayMOUSEMOVE

Case Else
End Select
End Sub

模块代码:Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4

Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1

Public Const WM_MOUSEMOVE = &H200

Public Const trayLBUTTONDOWN = 7695
Public Const trayLBUTTONUP = 7710
Public Const trayLBUTTONDBLCLK = 7725

Public Const trayRBUTTONDOWN = 7740
Public Const trayRBUTTONUP = 7755
Public Const trayRBUTTONDBLCLK = 7770

Public Const trayMOUSEMOVE = 7680

Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Dim trayStructure As NOTIFYICONDATA

Public Function AddIcon(pic As Control, tip$, f As Form)
trayStructure.szTip = tip$ & Chr$(0)
trayStructure.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP
trayStructure.uID = 100
trayStructure.cbSize = Len(trayStructure)
trayStructure.hwnd = pic.hwnd
trayStructure.uCallbackMessage = WM_MOUSEMOVE
trayStructure.hIcon = f.Icon
rc = Shell_NotifyIcon(NIM_ADD, trayStructure)
End Function

Public Function DeleteIcon(pic As Control)
trayStructure.uID = 100
trayStructure.cbSize = Len(trayStructure)
trayStructure.hwnd = pic.hwnd
trayStructure.uCallbackMessage = WM_MOUSEMOVE
rc = Shell_NotifyIcon(NIM_DELETE, trayStructure)
End Function


Public Sub NewTip(pic As Control, tip$)
trayStructure.uFlags = NIF_TIP
trayStructure.uID = 100
trayStructure.cbSize = Len(trayStructure)
trayStructure.hwnd = pic.hwnd
trayStructure.uCallbackMessage = WM_MOUSEMOVE
trayStructure.szTip = tip$ & Chr$(0)
rc = Shell_NotifyIcon(NIM_MODIFY, trayStructure)
End Sub

然后你要在窗体上鼠标菜单编辑器编辑菜单!
具体的我也给你个示例:我给你张图图看吧一个个打打死人的。。

具体的名字代码里有涉及我也给你奉上:
标题 名称
&File mnuFile
打开软件界面 mnuOpen
版权 mnuAbout
退出 mnuExit
另外把&File的可见这个勾去掉因为你是软件里不可见下面图标可见!

代码就这样了!还不行的留个邮箱我发你就是了
另外下面出现的框框里的事件在窗体代码里的Picture1的MouseMove事件里写!
对了你是要程序关系,那就把AddIcon Form1.Picture1, "这里写你鼠标停留时的显示的文字", Form1写在FORM Unload事件里即可!
想关闭就直接End吧!


郑重声明:资讯 【VB 6.0中如何实现把程序放到系统托盘方法二_Volcanol_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——