亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美猛男gaygay网站| 一区视频在线播放| 亚洲欧洲日韩一区二区三区| 亚洲成人www| 99久久亚洲一区二区三区青草 | 国产suv精品一区二区883| thepron国产精品| 欧美精品一区二区蜜臀亚洲| 亚洲欧洲精品一区二区三区不卡| 青青草国产精品97视觉盛宴| 91电影在线观看| 亚洲天堂精品视频| 国产精品一区二区x88av| 日韩一卡二卡三卡| 日韩国产欧美一区二区三区| 色综合欧美在线| 国产精品久99| 成人av午夜电影| 欧美激情一区三区| 国产美女在线观看一区| 欧美一级二级三级乱码| 日韩中文字幕1| 欧美日韩卡一卡二| 亚洲国产日日夜夜| 91国偷自产一区二区开放时间 | 亚洲午夜免费视频| 91丝袜高跟美女视频| 国产精品视频一二三区 | 精品久久一区二区三区| 天天色天天爱天天射综合| 91福利在线播放| 夜夜亚洲天天久久| 91麻豆福利精品推荐| 综合网在线视频| 91福利国产成人精品照片| 亚洲精品写真福利| 在线观看视频一区| 亚洲成人激情自拍| 欧美一区二区三区影视| 美腿丝袜亚洲色图| 亚洲精品一区二区在线观看| 久久国产夜色精品鲁鲁99| 日韩精品一区二区三区视频| 麻豆91精品91久久久的内涵| 日韩亚洲欧美中文三级| 卡一卡二国产精品| 欧美激情一区二区三区四区 | 国产精品大尺度| 99re视频这里只有精品| 亚洲一级二级在线| 日韩视频一区二区三区| 国产一区三区三区| 中文字幕综合网| 7777精品伊人久久久大香线蕉 | 亚洲精品美腿丝袜| 欧美午夜精品久久久| 日本在线观看不卡视频| 26uuu精品一区二区三区四区在线| 国产在线精品不卡| 日韩久久一区二区| 欧美男男青年gay1069videost| 奇米影视一区二区三区| 国产日韩欧美精品电影三级在线| 99久久免费精品| 首页国产欧美久久| 国产日韩精品一区| 欧美性猛交一区二区三区精品| 免费视频最近日韩| 中文字幕一区不卡| 欧美一级二级三级蜜桃| 成人97人人超碰人人99| 亚洲成a人片在线观看中文| 久久只精品国产| 欧美午夜宅男影院| 国产suv精品一区二区883| 亚洲国产欧美在线| 国产精品色一区二区三区| 欧美老肥妇做.爰bbww| 成人精品电影在线观看| 国产成人免费视频网站| 亚洲精品久久久蜜桃| 精品99久久久久久| 欧美性高清videossexo| 成人中文字幕在线| 美女一区二区久久| 亚洲自拍偷拍麻豆| 国产欧美日韩综合精品一区二区| 欧美精品久久天天躁| 99精品黄色片免费大全| 国产一区二区不卡在线| 亚洲国产裸拍裸体视频在线观看乱了| 欧美激情一区在线观看| 日韩欧美区一区二| 欧美日韩一级黄| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产91精品免费| 蜜臀久久99精品久久久久久9| 福利一区福利二区| 老司机午夜精品99久久| 亚洲一区二区三区视频在线播放| 国产精品久久久久三级| 久久精品男人的天堂| 日韩欧美电影一区| 欧美一级二级三级乱码| 欧美日韩国产免费一区二区| 一本一道综合狠狠老| 高清免费成人av| 国产激情一区二区三区| 九九国产精品视频| 国产一区二区影院| 激情综合色播五月| 国内精品不卡在线| 国产精品一线二线三线精华| 久久国产精品区| 精品一区二区三区在线视频| 蜜桃免费网站一区二区三区| 免费三级欧美电影| 久草中文综合在线| 国产在线一区观看| 国产美女视频91| 丁香五精品蜜臀久久久久99网站| 国产精品91xxx| 成人国产精品免费网站| 成人小视频在线观看| 99久久综合国产精品| 一本大道av一区二区在线播放| 91原创在线视频| 在线免费av一区| 欧美精品自拍偷拍| 日韩女同互慰一区二区| 久久综合网色—综合色88| 国产三级精品三级| 亚洲精品久久嫩草网站秘色| 亚洲国产日日夜夜| 日韩电影在线一区二区三区| 久久99精品一区二区三区三区| 国产一区二区福利视频| jlzzjlzz亚洲女人18| 在线亚洲欧美专区二区| 欧美体内she精高潮| 日韩美女视频一区二区在线观看| 久久日韩精品一区二区五区| 91麻豆精品久久久久蜜臀| 欧美大肚乱孕交hd孕妇| 国产日韩综合av| 亚洲一区二区三区四区在线免费观看| 日韩中文字幕区一区有砖一区| 毛片av中文字幕一区二区| 国产成人精品网址| 欧美色欧美亚洲另类二区| 日韩精品一区二区三区蜜臀| 欧美激情在线观看视频免费| 亚洲一卡二卡三卡四卡| 极品销魂美女一区二区三区| 99国内精品久久| 日韩美女一区二区三区| 亚洲美女电影在线| 精品中文字幕一区二区小辣椒| 91在线播放网址| 精品91自产拍在线观看一区| 亚洲色图欧美激情| 国内精品写真在线观看| 一本大道久久a久久综合| 精品福利一二区| 亚洲一二三区在线观看| 国产精品18久久久久久久久久久久 | 麻豆视频观看网址久久| 不卡视频在线看| 日韩欧美国产午夜精品| 曰韩精品一区二区| 国产精品88av| 日韩欧美电影一二三| 一级精品视频在线观看宜春院 | 亚洲小说欧美激情另类| 国产激情偷乱视频一区二区三区 | 日本道在线观看一区二区| 精品国产91洋老外米糕| 香蕉影视欧美成人| 一本到三区不卡视频| 久久只精品国产| 免费高清成人在线| 欧美日韩一级二级| 亚洲色图都市小说| 成人免费视频网站在线观看| 精品国产免费视频| 免费一级欧美片在线观看| 欧美三级电影一区| 亚洲免费观看高清完整版在线| 国产黄色91视频| 亚洲精品一区二区精华| 老司机免费视频一区二区| 欧美高清hd18日本| 视频一区免费在线观看| 欧美三级电影一区| 亚洲午夜av在线| 欧美日韩一区二区不卡| 亚洲自拍偷拍网站| 欧美日韩情趣电影| 三级欧美韩日大片在线看| 5566中文字幕一区二区电影|