源代码网整理以下使用VB编写在托盘上显示Balloon提示的功能就需要调用Win32Api了,但是VB6和VB.NET代码上还是有些不同的,红色部分即为二者区别
源代码网整理以下Imports System.Runtime.InteropServices
源代码网整理以下Public Class Form1
Inherits System.Windows.Forms.Form
软件开发网 www.mscto.com
源代码网整理以下
#Region "Win32Api_NotifyIcon"
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
"Shell_NotifyIconA" (ByVal dwMessage As Int32, _
ByRef lpData As NOTIFYICONDATA) As Int32
源代码网整理以下 <System.Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> Private Structure NOTIFYICONDATA
Public cbSize As Int32
Public hwnd As IntPtr
Public uId As Int32
Public uFlags As Int32
Public uCallBackMessage As Int32
Public hIcon As IntPtr
<MarshalAs(UnmanagedType.ByValTStr, sizeconst:=128)> _
Public szTip As String
Public dwState As Int32
Public dwStateMask As Int32
<MarshalAs(UnmanagedType.ByValTStr, sizeconst:=256)> _
Public szInfo As String
Public uTimeoutOrVersion As Int32
<MarshalAs(UnmanagedType.ByValTStr, sizeconst:=64)> _
Public szInfoTitle As String
Public dwInfoFlags As Int32
End Structure
源代码网整理以下 Private Const NOTIFYICON_VERSION = 3
Private Const NOTIFYICON_OLDVERSION = 0
源代码网整理以下 Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
源代码网整理以下 Private Const NIM_SETFOCUS = &H3
Private Const NIM_SETVERSION = &H4
源代码网整理以下 Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
源代码网整理以下 Private Const NIF_STATE = &H8
Private Const NIF_INFO = &H10
源代码网整理以下 Private Const NIS_HIDDEN = &H1
Private Const NIS_SHAREDICON = &H2
源代码网整理以下
Private Const NIIF_NONE = &H0
Private Const NIIF_WARNING = &H2
Private Const NIIF_ERROR = &H3
Private Const NIIF_INFO = &H1
源代码网整理以下 Private nfIconData As NOTIFYICONDATA
源代码网整理以下#End Region
源代码网整理以下
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
nfIconData = New NOTIFYICONDATA()
With nfIconData
.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(nfIconData)
.hwnd = Me.Handle
.uId = vbNull
.uFlags = NIF_INFO Or NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.hIcon = Me.Icon.Handle
.szTip = "123" ´& Microsoft.VisualBasic.vbNullChar
.dwState = 0 软件开发网 www.mscto.com
.dwStateMask = 0
.szInfo = "Balloon Style Tool-tip" & Chr(13) & "哈哈" ´& vbNullChar
.uTimeoutOrVersion = 15000
.szInfoTitle = "看到了么?" ´& Microsoft.VisualBasic.vbNullChar
.dwInfoFlags = NIIF_INFO
End With
源代码网整理以下
Call Shell_NotifyIcon(NIM_ADD, nfIconData)
源代码网整理以下 End Sub
源代码网整理以下 Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub
End Class