📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5805
ClientLeft = 60
ClientTop = 450
ClientWidth = 7275
Icon = "Form1.frx":0000
LinkTopic = "Form1"
ScaleHeight = 5805
ScaleWidth = 7275
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command4
Caption = "退出程序"
Height = 375
Left = 5280
TabIndex = 3
Top = 2040
Width = 1215
End
Begin VB.CommandButton Command3
Caption = "修改托盘图标"
Height = 375
Left = 3840
TabIndex = 2
Top = 2040
Width = 1215
End
Begin VB.CommandButton Command2
Caption = "创建托盘图标"
Height = 375
Left = 2040
TabIndex = 1
Top = 2040
Width = 1455
End
Begin VB.CommandButton Command1
Caption = "删除托盘图标"
Height = 375
Left = 480
TabIndex = 0
Top = 2040
Width = 1335
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim MyNot As NOTIFYICONDATA '定义一个托盘结构
Private Sub Command1_Click() '按下删除托盘图标按钮
With MyNot
.hIcon = Form1.Icon '托盘图标指针指向窗口的图标
.hwnd = Form1.hwnd '窗体指针
.szTip = "" '弹出提示字符串,删除时应为空
.uCallbackMessage = WM_USER + 100 '对应程序定义的消息
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE '图标标志
.uID = 1 '图标识别符
.cbSize = Len(MyNot) '计算结构实例MyNot的长度
End With
hh = Shell_NotifyIcon(NIM_DELETE, MyNot) '删除该托盘图标
trayflag = False '托盘图标删除后trayflag为假
End Sub
Private Sub Command2_Click() '按下创建托盘图标按钮
Dim hh As Long
With MyNot
.hIcon = Form1.Icon
.hwnd = Form1.hwnd
.szTip = "托盘图标" & Chr(&H0)
.uCallbackMessage = WM_USER + 100
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uID = 1
.cbSize = Len(MyNot)
End With
hh = Shell_NotifyIcon(NIM_ADD, MyNot) '添加一个托盘图标
trayflag = True '托盘图标添加后trayflag为真
End Sub
Private Sub Command3_Click() '按下修改托盘图标按钮
Dim hh As Long
Set P = LoadPicture("cd.ico") '导入一个新图标
With MyNot
.hIcon = P '将托盘图标改为新图标
.hwnd = Form1.hwnd
.szTip = "光盘图标" & Chr(&H0) '更改提示信息
.uCallbackMessage = WM_USER + 100
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uID = 1
.cbSize = Len(MyNot)
End With
hh = Shell_NotifyIcon(NIM_MODIFY, MyNot) '修改托盘图标的某些特征
End Sub
Private Sub Command4_Click() '退出窗口按钮被按下
If trayflag = True Then Command1_Click '如果托盘图标仍在,模拟按下"删除托盘图标"按钮
Unhook '退出消息循环
Unload Me '卸载窗体
End Sub
Private Sub exit_Click()
If trayflag = True Then Command1_Click '如果托盘图标仍在,模拟按下“删除托盘图标"按钮
Unhook '退出消息循环
Unload Me '卸载窗体
End Sub
Private Sub Form_Load()
gHW = Me.hwnd '取得本窗体指针
hook '调用钩子函数,将自制消息处理函数钩入Windows的消息循环
End Sub
Private Sub hide_Click()
Form1.Hide '隐藏窗口
End Sub
Private Sub show_Click()
Form1.Show 显示窗口
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -