⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 又一个小的串口设置监测程序
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit

'定义常量
Public Const GWL_WNDPROC = (-4)
Public Const WM_LBUTTONDOWN = &H201
Public Const NIM_ADD = 0
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
'定义全局变量
Public IconMsg As Long '消息编号
Public OldWinProc As Long '原消息处理程序的地址
'定义自定义数据类型
Public Type NOTIFYICONDATA
    cbSize As Long
    
    hWnd As Long
    uID As Long
    uFlags As Long
    uCallbackMessage As Long
    hIcon As Long
    szTip As String * 64
End Type


'Windows API函数声明
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer


'自定义消息处理程序
Sub MyProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long)
'根据Msg判断,消息是否是图标发出的,如果是,再进行处理
If Msg = IconMsg Then
    If lParam = WM_LBUTTONDOWN Then
        SetForm.Show '如果在图标上按下了左键则显示窗体
    End If
End If
'执行全程变量OldWinProc记录的原消息处理程序的地址中的消息处理程序
CallWindowProc OldWinProc, hWnd, Msg, wParam, lParam
End Sub



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -