Chinaunix首页 | 论坛 | 博客
  • 博客访问: 743953
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:38:30

  1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False

  2、菜单:工程--添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas

  3、在Module1中写下如下代码:

  Option Explicit

  Public Const MAX_TOOLTIP As Integer = 64

  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 WM_MOUSEMOVE = &H200

  Public Const WM_LBUTTONDOWN = &H201

  Public Const WM_LBUTTONUP = &H202

  Public Const WM_LBUTTONDBLCLK = &H203

  Public Const WM_RBUTTONDOWN = &H204

  Public Const WM_RBUTTONUP = &H205

  Public Const WM_RBUTTONDBLCLK = &H206

  Public Const SW_RESTORE = 9

  Public Const SW_HIDE = 0

  Public nfIconData As NOTIFYICONDATA

  Public Type NOTIFYICONDATA

  cbSize As Long

  hWnd As Long

  uID As Long

  uFlags As Long

  uCallbackMessage As Long

  hIcon As Long

  szTip As String * MAX_TOOLTIP

  End Type

  Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

  Public 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.Hide

  End 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

 

[1]  

【责编:Luzi】

--------------------next---------------------

阅读(351) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~