VB6如何在托盘中写入应用程序图标

    技术2022-05-11  70

      1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False  2、菜单:工程--添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas  3、在Module1中写下如下代码: Option ExplicitPublic Const MAX_TOOLTIP As Integer = 64Public Const NIF_ICON = &H2Public Const NIF_MESSAGE = &H1Public Const NIF_TIP = &H4Public Const NIM_ADD = &H0Public Const NIM_DELETE = &H2Public Const WM_MOUSEMOVE = &H200Public Const WM_LBUTTONDOWN = &H201Public Const WM_LBUTTONUP = &H202Public Const WM_LBUTTONDBLCLK = &H203Public Const WM_RBUTTONDOWN = &H204Public Const WM_RBUTTONUP = &H205Public Const WM_RBUTTONDBLCLK = &H206Public Const SW_RESTORE = 9Public Const SW_HIDE = 0Public nfIconData As NOTIFYICONDATAPublic Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * MAX_TOOLTIPEnd TypePublic Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As LongPublic Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long   4、在Form1的Load事件中写下如下代码:Private Sub Form_Load() '以下把程序放入System Tray====================================System Tray Begin 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 & ")" & vbNullChar  .cbSize = Len(nfIconData) End With Call Shell_NotifyIcon(NIM_ADD, nfIconData) '=============================================================System Tray End Me.HideEnd Sub   5、在Form1的QueryUnload事件中写入如下代码:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)Call Shell_NotifyIcon(NIM_DELETE, nfIconData)End Sub   6、在Form1的MouseMove事件中写下如下代码:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim lMsg As Single lMsg = X / Screen.TwipsPerPixelX Select Case lMsg  Case WM_LBUTTONUP   'MsgBox "请用鼠标右键点击图标!", vbInformation, "实时播音专家"   '单击左键,显示窗体   ShowWindow Me.hWnd, SW_RESTORE   '下面两句的目的是把窗口显示在窗口最顶层   'Me.Show   'Me.SetFocus   '' Case WM_RBUTTONUP   '' PopupMenu MenuTray '如果是在系统Tray图标上点右键,则弹出菜单MenuTray   '' Case WM_MOUSEMOVE   '' Case WM_LBUTTONDOWN   '' Case WM_LBUTTONDBLCLK   '' Case WM_RBUTTONDOWN   '' Case WM_RBUTTONDBLCLK   '' Case Else End SelectEnd Sub   7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。单击此图标,Form1就自动弹出来了。   

    最新回复(0)