亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mdlcommon.bas

?? 非常完整的 非常完整的收發短信的源代碼
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
Attribute VB_Name = "mdlCommon"
Option Explicit

Public g_blIsEndCall        As Boolean
Public g_blIsListSMS        As Boolean
Public g_blIsSysBusy        As Boolean
Public g_blIsWaiting        As Boolean
Public g_blIsNewSMSIn       As Boolean
Public g_blIsNewCallIn      As Boolean
Public g_blIsSendingSMS     As Boolean
Public g_blIsHexCommData    As Boolean
Public g_blMaySaveAllSMS    As Boolean

Public g_strSave        As String
Public g_strThisAT      As String
Public g_strLastAT      As String
Public g_strLatestAT    As String

Public g_nCountPlaySnd  As Long

Public g_SysInfo As SysStruct

Dim n_CountListSMS      As Long


Public OldWindowProc As Long
Public TheForm As Form
Public TheMenu As Menu

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 SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Public Declare Function GetForegroundWindow Lib "user32" () As Long

Public Const WM_USER = &H400
Public Const WM_LBUTTONUP = &H202
Public Const WM_MBUTTONUP = &H208
Public Const WM_RBUTTONUP = &H205
Public Const TRAY_CALLBACK = (WM_USER + 1001&)
Public Const GWL_WNDPROC = (-4)
Public Const GWL_USERDATA = (-21)
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIF_MESSAGE = &H1
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2

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

Private TheData As NOTIFYICONDATA
' *********************************************
' The replacement window proc.
' *********************************************
Public Function NewWindowProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = TRAY_CALLBACK Then
        ' The user clicked on the tray icon.
        ' Look for click events.
        If lParam = WM_LBUTTONUP Then
            ' On left click, show the form.
            If TheForm.WindowState = vbMinimized Then
                TheForm.WindowState = TheForm.LastState
                TheForm.Visible = True
                TheForm.SetFocus
            Else
                'TheForm.Visible = False
                TheForm.LastState = TheForm.WindowState
                TheForm.WindowState = vbMinimized
                TheForm.Hide
            End If
            Exit Function
        End If
        If lParam = WM_RBUTTONUP Then
            ' On right click, show the menu.
            TheForm.PopupMenu TheMenu
            Exit Function
        End If
    End If
    
    ' Send other messages to the original
    ' window proc.
    NewWindowProc = CallWindowProc( _
        OldWindowProc, hWnd, Msg, _
        wParam, lParam)
End Function
' *********************************************
' Add the form's icon to the tray.
' *********************************************
Public Sub AddToTray(frm As Form, mnu As Menu)
    ' ShowInTaskbar must be set to False at
    ' design time because it is read-only at
    ' run time.

    ' Save the form and menu for later use.
    Set TheForm = frm
    Set TheMenu = mnu
    
    ' Install the new WindowProc.
    OldWindowProc = SetWindowLong(frm.hWnd, _
        GWL_WNDPROC, AddressOf NewWindowProc)
    
    ' Install the form's icon in the tray.
    With TheData
        .uID = 0
        .hWnd = frm.hWnd
        .cbSize = Len(TheData)
        .hIcon = frm.Icon.Handle
        .uFlags = NIF_ICON
        .uCallbackMessage = TRAY_CALLBACK
        .uFlags = .uFlags Or NIF_MESSAGE
        .cbSize = Len(TheData)
    End With
    Shell_NotifyIcon NIM_ADD, TheData
End Sub
' *********************************************
' Remove the icon from the system tray.
' *********************************************
Public Sub RemoveFromTray()
    ' Remove the icon from the tray.
    With TheData
        .uFlags = 0
    End With
    Shell_NotifyIcon NIM_DELETE, TheData
    
    ' Restore the original window proc.
    SetWindowLong TheForm.hWnd, GWL_WNDPROC, _
        OldWindowProc
End Sub
' *********************************************
' Set a new tray tip.
' *********************************************
Public Sub SetTrayTip(tip As String)
    With TheData
        .szTip = tip & vbNullChar
        .uFlags = NIF_TIP
    End With
    Shell_NotifyIcon NIM_MODIFY, TheData
End Sub
' *********************************************
' Set a new tray icon.
' *********************************************
Public Sub SetTrayIcon(pic As Picture)
    ' Do nothing if the picture is not an icon.
    If pic.Type <> vbPicTypeIcon Then Exit Sub

    ' Update the tray icon.
    With TheData
        .hIcon = pic.Handle
        .uFlags = NIF_ICON
    End With
    Shell_NotifyIcon NIM_MODIFY, TheData
End Sub




''************************************
'功能:解析串口中AT命令返回的信息
'===========================
'參數:
'===========================
'輸入參數:      串口數據
'---------------------------
'輸出參數:
'---------------------------
'strATData:     短消息內容(UD)
'iSMSIdx:       短消息序號
'strSMSTime:    短消息接收時間
'strSMSSourceNO:源SIM卡號
'strSMSStatus:  短消息狀態:"READ"—已讀,"UNREAD"—未讀,"SENT"—發送,"UNSENT"—未發送
Public Function GetDataFromCommPort(ByVal strInput As String, _
                                     strATData As String, _
                                     Optional CommandStatus As String, _
                                     Optional TimedOut As Boolean, _
                                     Optional iSMSIdx As Integer, _
                                     Optional strSMSTime As String, _
                                     Optional strSMSSourceNO As String, _
                                     Optional strSMSStatus As String) As Boolean
    
    On Error GoTo ErrorG
    'Static g_strLastAT As String
    
    Dim strTmp As String, strTmp1 As String
    Dim i As Integer, iTmp1 As Integer, iTmp2 As Integer
    Dim iLen As Integer
    Dim blHasError As Boolean
    Dim blIfInprogress As Boolean
    Static iCountMonitor As Integer
    
    'iCountMonitor = iCountMonitor + 1
    strTmp = ""
    For i = 1 To Len(strInput)
        strTmp1 = Mid(strInput, i, 1)
        If strTmp1 <> vbLf Then strTmp = strTmp & strTmp1
    Next i
    'strInput = strTmp
    g_strSave = g_strSave & strTmp '"AT+CMGR=1" & vbCrLf & "+CMGR: REC"
    If InStr(strTmp, vbCr) > 0 Then ' And (InStr(strTmp, "OK") > 0 Or InStr(strTmp, "ERROR") > 0) Then
        g_blIsWaiting = False
        iCountMonitor = 0
    End If
    iCountMonitor = iCountMonitor + 1
    
    '1、看是否是AT命令或者其響應
    '   a. 如果是AT開頭或者有A/且A/之后是回車換行,則表示ATE1
    '   b. 如果不是以上或者以以上字符串開頭,回車換行之后以"+"開頭,或者"OK"、"ERROR"
    '   則表示是AT命令的響應。
    '   另外,還有一種可能是以上所述字符串出現在半道,
    '   那么,在這種情況下需要查找符合條件的字符串,從中截取出響應字符串
    
    '   在這里,如果命令一時沒有全部返回,因為串口數據不一定會得到全部數據
    '   所以,設置一個靜態的Bool變量blIsWaiting,來指示是否結束了本條AT響應單元
ProcessNextData:
    Do
        If Left(g_strSave, 1) = vbCr Then
            g_strSave = Right(g_strSave, Len(g_strSave) - 1)
        Else
            Exit Do
        End If
    Loop
    
    If Not g_blIsWaiting Then
        If g_strThisAT = "" Then
            g_blIsWaiting = True
            If UCase(Left(g_strSave, 3)) = "A/" & vbCr Then
                CommandStatus = "重復上次指令"
                g_strSave = Right(g_strSave, Len(g_strSave) - 3)
                g_strThisAT = ""
                g_blIsWaiting = False
            ElseIf UCase(Left(g_strSave, 2)) = "AT" Then '命令的回顯
                iLen = InStr(g_strSave, vbCr) '查找命令輸入結束符號——回車
                If iLen > 0 Then
                    g_strLastAT = Left(g_strSave, iLen) '保存回顯的命令,作為指示的依據。
                    g_strSave = Right(g_strSave, Len(g_strSave) - iLen) '只保留命令的執行部分
                    g_strThisAT = "IsEcho"
                Else
                    g_blIsWaiting = True
                End If
            ElseIf UCase(Left(g_strSave, 2)) <> "AT" Then '如果開頭字符不是AT+,那么需要搜索一下;
                iTmp1 = InStr(g_strSave, "+")               '首先查找AT指令響應標志"+"
                If iTmp1 > 0 Then                        '如果找到了"+"
                    iTmp2 = InStr(g_strSave, ":")           '查找響應結束符標志":"
                    If iTmp2 > 0 And iTmp2 > iTmp1 Then  '根據起始符"+",用以確定最近返回的是哪一個指令
                        g_strThisAT = Mid(g_strSave, iTmp1, iTmp2 - iTmp1 + 1)
                        g_strSave = Right(g_strSave, Len(g_strSave) - iTmp1 + 1)
                        blHasError = False
                    Else
                        '假如沒有找到成對出現或者任何一個都沒有的返回值,那么要等待后面的內容
                        If Len(g_strSave) - iTmp1 > 15 Then
                            blHasError = True
                        Else
                            blHasError = False
                            g_blIsWaiting = True
                        End If
                    End If
                Else
                    If InStr(g_strSave, "OK") > 0 Then '是OK嗎?
                        g_strThisAT = "OK"
                    ElseIf InStr(g_strSave, "ERROR") > 0 Then  '不是OK,是ERROR嗎?
                        g_strThisAT = "ERROR"           '但屬于非正常操作
                    ElseIf InStr(g_strSave, "RING") > 0 Then
                        g_strThisAT = "RING"
                    Else
                        iLen = InStr(g_strSave, vbCr)
                        If iLen > 0 Then
'                            Text5.Text = Left(g_strSave, iLen)
                            g_strSave = Right(g_strSave, Len(g_strSave) - iLen)
                            g_strThisAT = ""
                            blHasError = False
                        Else
                            blHasError = True
                        End If
                    End If
                End If
                If blHasError Then
'                    Text5.Text = g_strSave
                    g_strSave = ""
                    g_strThisAT = ""
                    g_blIsWaiting = True
                End If
            End If

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久久久久| 欧美三级日韩三级| 蜜臀精品久久久久久蜜臀| 亚洲综合网站在线观看| 一区二区久久久久久| 一区二区三区中文字幕| 亚洲柠檬福利资源导航| 一区二区三区不卡视频| 午夜伊人狠狠久久| 全国精品久久少妇| 久久97超碰国产精品超碰| 国精产品一区一区三区mba桃花| 国产精品原创巨作av| a亚洲天堂av| 欧美视频在线观看一区| 欧美日本韩国一区| 久久综合九色综合97_久久久| 日本一区二区电影| 亚洲女女做受ⅹxx高潮| 日本在线不卡视频| 国产精品小仙女| 色8久久人人97超碰香蕉987| 制服丝袜亚洲精品中文字幕| 国产亚洲综合色| 一区二区三区日韩欧美| 日本欧洲一区二区| 成人h版在线观看| 制服视频三区第一页精品| 国产欧美精品一区二区三区四区 | 综合电影一区二区三区| 一个色在线综合| 久久精品噜噜噜成人av农村| 成人动漫视频在线| 欧美日本韩国一区二区三区视频| 精品国产精品网麻豆系列| 中文字幕制服丝袜成人av| 亚洲成av人片在线| 国产不卡视频一区| 8x8x8国产精品| 日韩美女啊v在线免费观看| 老色鬼精品视频在线观看播放| 94-欧美-setu| 久久人人爽人人爽| 亚洲午夜精品在线| 成人网在线免费视频| 欧美一区二区三区婷婷月色| 中文字幕佐山爱一区二区免费| 久久www免费人成看片高清| 91理论电影在线观看| 国产欧美日韩精品在线| 看片的网站亚洲| 制服丝袜激情欧洲亚洲| 亚洲精品乱码久久久久| 成人精品免费看| 精品99一区二区| 毛片基地黄久久久久久天堂| 欧美性猛片aaaaaaa做受| 中文字幕欧美一| 高清国产一区二区| 精品福利av导航| 日韩高清在线观看| 欧美日韩第一区日日骚| 亚洲精品久久久蜜桃| 91视频免费播放| 国产精品每日更新在线播放网址| 国产美女一区二区三区| 精品伦理精品一区| 伦理电影国产精品| 日韩欧美中文字幕一区| 亚洲大片精品永久免费| 欧美三级电影精品| 午夜久久久久久| 69堂成人精品免费视频| 日本成人超碰在线观看| 7777精品伊人久久久大香线蕉最新版| 亚洲成人免费视| 欧美狂野另类xxxxoooo| 亚洲成人综合视频| 精品视频一区二区不卡| 天堂精品中文字幕在线| 日韩一区二区在线免费观看| 日韩成人一级片| 欧美va亚洲va香蕉在线| 极品少妇xxxx偷拍精品少妇| ww亚洲ww在线观看国产| 丰满放荡岳乱妇91ww| 国产精品乱码人人做人人爱 | 亚洲一区二区三区四区在线免费观看 | 亚洲成a人v欧美综合天堂下载 | 日韩精品中文字幕一区二区三区| 蜜桃视频一区二区三区| 久久精品视频一区二区三区| 国产 日韩 欧美大片| 亚洲日本韩国一区| 51久久夜色精品国产麻豆| 国产一区激情在线| 亚洲色图欧美在线| 91精品国产免费| 成人毛片视频在线观看| 亚洲激情欧美激情| 日韩一区二区三区高清免费看看| 国产一区视频导航| 亚洲一区二区三区四区不卡| 欧美不卡在线视频| 91在线视频18| 美女国产一区二区| 国产精品久久久久久久久免费樱桃| 色婷婷香蕉在线一区二区| 欧美a级一区二区| 成人免费视频在线观看| 日韩欧美国产一区在线观看| 99精品视频一区二区| 日本特黄久久久高潮| 综合久久久久综合| 日韩欧美区一区二| 在线视频观看一区| 国产不卡在线播放| 日韩电影一区二区三区| 亚洲三级在线播放| 久久精品一区二区三区av| 色女孩综合影院| 成人午夜视频在线| 久久国产精品99精品国产| 一区二区三区美女| 国产精品美女久久久久aⅴ| 91精品国产色综合久久ai换脸| 99久久综合国产精品| 国产一区二区三区视频在线播放| 亚洲国产一区视频| 亚洲欧美偷拍三级| 精品久久久久久久久久久久包黑料| 色美美综合视频| www.亚洲精品| 国产69精品久久99不卡| 国产综合成人久久大片91| 亚洲一区二区三区四区在线免费观看 | 欧美日韩二区三区| 欧美三级日韩三级| 一本大道av伊人久久综合| 国产a区久久久| 国产精品一卡二卡| 国产一区二区在线观看视频| 日本午夜精品视频在线观看 | 亚洲色图.com| 国产精品网站在线观看| 久久精品综合网| 久久久亚洲精品一区二区三区| 欧美一区二区三区白人| 欧美日韩国产欧美日美国产精品| 一本色道a无线码一区v| 99国产精品视频免费观看| eeuss鲁一区二区三区| 国产精品亚洲专一区二区三区| 国产资源在线一区| 国产精一区二区三区| 国产一区二区三区高清播放| 狠狠狠色丁香婷婷综合激情| 久久av资源站| 精品一区在线看| 懂色av一区二区三区蜜臀| 国产69精品久久777的优势| 大陆成人av片| 99久免费精品视频在线观看 | 男女激情视频一区| 麻豆国产欧美日韩综合精品二区| 看电视剧不卡顿的网站| 国产精品原创巨作av| aaa国产一区| 在线亚洲一区二区| 日韩一区二区三区电影在线观看 | 亚洲男女一区二区三区| 亚洲午夜精品在线| 美腿丝袜亚洲综合| 国产精品自拍三区| 91视频免费观看| 欧美一区二区三区白人| 国产午夜久久久久| 亚洲综合偷拍欧美一区色| 免费在线看一区| a美女胸又www黄视频久久| 在线观看欧美黄色| 久久综合五月天婷婷伊人| 18欧美亚洲精品| 日韩电影免费一区| 成人免费毛片高清视频| 欧美三级一区二区| 国产欧美日韩不卡| 三级成人在线视频| 丁香啪啪综合成人亚洲小说 | 亚洲福中文字幕伊人影院| 日韩高清电影一区| 成人免费黄色在线| 91精品国产美女浴室洗澡无遮挡| 国产农村妇女毛片精品久久麻豆 | wwwwxxxxx欧美| 五月天激情综合| 成人av综合在线| 精品国产乱码久久久久久夜甘婷婷| 亚洲欧美日韩一区二区| 国产一区在线视频|