使用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
1<system.runtime.interopservices.structlayout(runtime.interopservices.layoutkind.sequential)> Private Structure NOTIFYICONDATA
2Public cbSize As Int32
3Public hwnd As IntPtr
4Public uId As Int32
5Public uFlags As Int32
6Public uCallBackMessage As Int32
7Public hIcon As IntPtr
8<marshalas(unmanagedtype.byvaltstr, sizeconst:="128)"> _
9Public szTip As String
10Public dwState As Int32
11Public dwStateMask As Int32
12<marshalas(unmanagedtype.byvaltstr, sizeconst:="256)"> _
13Public szInfo As String
14Public uTimeoutOrVersion As Int32
15<marshalas(unmanagedtype.byvaltstr, sizeconst:="64)"> _
16Public szInfoTitle As String
17Public dwInfoFlags As Int32
18End Structure
19
20Private Const NOTIFYICON_VERSION = 3
21Private Const NOTIFYICON_OLDVERSION = 0
22
23Private Const NIM_ADD = &H0
24Private Const NIM_MODIFY = &H1
25Private Const NIM_DELETE = &H2
26
27Private Const NIM_SETFOCUS = &H3
28Private Const NIM_SETVERSION = &H4
29
30Private Const NIF_MESSAGE = &H1
31Private Const NIF_ICON = &H2
32Private Const NIF_TIP = &H4
33
34Private Const NIF_STATE = &H8
35Private Const NIF_INFO = &H10
36
37Private Const NIS_HIDDEN = &H1
38Private Const NIS_SHAREDICON = &H2
39
40
41Private Const NIIF_NONE = &H0
42Private Const NIIF_WARNING = &H2
43Private Const NIIF_ERROR = &H3
44Private Const NIIF_INFO = &H1
45
46Private nfIconData As NOTIFYICONDATA
47
48#End Region
49
50
51Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
52nfIconData = New NOTIFYICONDATA()
53With nfIconData
54.cbSize = System.Runtime.InteropServices.Marshal.SizeOf (nfIconData)
55.hwnd = Me.Handle
56.uId = vbNull
57.uFlags = NIF_INFO Or NIF_ICON Or NIF_TIP Or NIF_MESSAGE
58.hIcon = Me.Icon.Handle
59.szTip = "123" '& Microsoft.VisualBasic.vbNullChar
60.dwState = 0
61.dwStateMask = 0
62.szInfo = "Balloon Style Tool-tip" & Chr(13) & "哈哈" '& vbNullChar
63.uTimeoutOrVersion = 15000
64.szInfoTitle = "看到了么?" '& Microsoft.VisualBasic.vbNullChar
65.dwInfoFlags = NIIF_INFO
66End With
67
68
69Call Shell_NotifyIcon(NIM_ADD, nfIconData)
70
71End Sub
72
73Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
74Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
75End Sub
76End Class</marshalas(unmanagedtype.byvaltstr,></marshalas(unmanagedtype.byvaltstr,></marshalas(unmanagedtype.byvaltstr,></system.runtime.interopservices.structlayout(runtime.interopservices.layoutkind.sequential)>