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

📄 modcommon.bas

📁 用VB6制作的在线升级程序,仅供参考,各位爱好者可以在源码基础上进行完善
💻 BAS
字号:
Attribute VB_Name = "modCommon"
Option Explicit

' 这里是通用模块,放置API函数以及公用函数
 

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal lSize As Long, ByVal lpFilename As String) As Long

Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As Any, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFilename As String) As Long

Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFilename As String) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

 
Const WM_Close = &H10
 

Private Const gintMAX_SIZE% = 255                        'Maximum buffer size

 

Public UpdateIniPath As String

 

' ===============================================

' 从资源文件中提取文件

' ===============================================

Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean

 

  Dim bytImage() As Byte

  Dim iFileNum As Integer

 

  On Error GoTo SaveFileFromRes_Err

  SaveFileFromRes = True

  bytImage = LoadResData(vntResourceID, sType)

  

  iFileNum = FreeFile

  Open sFileName For Binary As iFileNum

  Put #iFileNum, , bytImage

  Close iFileNum

  Exit Function

  

SaveFileFromRes_Err:

  SaveFileFromRes = False: Exit Function

End Function

 
' ===============================================

' 从缓冲区中读取字符串

' ===============================================

Private Function StringFromBuffer(Buffer As String) As String

    Dim nPos As Long

 

    nPos = InStr(Buffer, vbNullChar)

    If nPos > 0 Then

        StringFromBuffer = Left$(Buffer, nPos - 1)

    Else

        StringFromBuffer = Buffer

    End If

End Function

 
' ===============================================

' 读Ini文件

' ===============================================

Public Function ReadIniFile(ByVal strIniFile As String, ByVal strSection As String, ByVal strKey As String, Optional ByVal strKeyDefault As String = vbNullString) As String

    Dim strBuffer As String

    strBuffer = Space$(gintMAX_SIZE)

 

    If GetPrivateProfileString(strSection, strKey, strKeyDefault, strBuffer, gintMAX_SIZE, strIniFile) Then

       ReadIniFile = StringFromBuffer(strBuffer)

    End If

End Function

 

' 检查文件是否存在

Function FileExists(filename As String) As Boolean

    On Error Resume Next

    FileExists = (Dir$(filename) <> "")

End Function

 

' 改变标签的文本及位置

Public Function ChangeLabelPos(frm As Form, lbl As Label, msg As String)

 

     With lbl

          .Caption = msg

          .Left = (frm.ScaleWidth - .Width) / 2

          .Top = .Height / 2

     End With

End Function

 

'关闭窗体

Function CloseValidForm(Ret As String) As Boolean

   Dim WinWnd As Long
    
   '搜寻该窗口的句柄

   WinWnd = FindWindow(vbNullString, Ret)

   If WinWnd <> 0 Then

      SendMessage WinWnd, WM_Close, 0&, 0&

   End If

   CloseValidForm = True

End Function

⌨️ 快捷键说明

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