在托盘上显示Balloon Tooltip(VB.NET)

王朝vb·作者佚名  2006-01-08
宽屏版  字体: |||超大  

使用VB编写在托盘上显示Balloon提示的功能就需要调用Win32Api了,但是VB6和VB.NET代码上还是有些不同的,红色部分即为二者区别

Imports System.Runtime.InteropServices

Public Class Form1

Inherits System.Windows.Forms.Form

#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

.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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有