mglobals.bas

来自「一个商业软件的源码」· BAS 代码 · 共 156 行

BAS
156
字号
Attribute VB_Name = "MGlobals"
'===============================================================================
'Program Name:  Browse-IT
'Description:  Web Browser
'Author:  Justin Pinkley
'
'Purpose:  Browse-IT was designed to be an easy to use web browser with the
'ability to surf many pages at once without having to have more than one
'instance of the program running.
'===============================================================================

Option Explicit

'Code for Auto-Complete (Ripped from abstractvb.com)
Public Declare Function SHAutoComplete Lib "Shlwapi.dll" _
        (ByVal hWndEdit As Long, _
        ByVal dwFlags As Long) As Long

Public Enum SHAC_Constants
    Default = &H0
    FileSystem = &H1
    URLHistory = &H2
    URLMRU = &H4
    URLAll = (&H2 Or &H4)
End Enum

'API for temporary internet files folder (special folders)
'Ripped directly from M$ website
Public Declare Function SHGetSpecialFolderPath _
   Lib "shell32.dll" _
   Alias "SHGetSpecialFolderPathA" _
   (ByVal hwnd As Long, _
   ByVal lpszPath As String, _
   ByVal nFolder As Integer, _
   ByVal fCreate As Boolean) As Boolean
   
'API constants for special folders API
Public Const CSIDL_DESKTOP = &H0
Public Const CSIDL_INTERNET = &H1
Public Const CSIDL_PROGRAMS = &H2
Public Const CSIDL_CONTROLS = &H3
Public Const CSIDL_PRINTERS = &H4
Public Const CSIDL_PERSONAL = &H5
Public Const CSIDL_FAVORITES = &H6
Public Const CSIDL_STARTUP = &H7
Public Const CSIDL_RECENT = &H8
Public Const CSIDL_SENDTO = &H9
Public Const CSIDL_BITBUCKET = &HA
Public Const CSIDL_STARTMENU = &HB
Public Const CSIDL_DESKTOPDIRECTORY = &H10
Public Const CSIDL_DRIVES = &H11
Public Const CSIDL_NETWORK = &H12
Public Const CSIDL_NETHOOD = &H13
Public Const CSIDL_FONTS = &H14
Public Const CSIDL_TEMPLATES = &H15
Public Const CSIDL_COMMON_STARTMENU = &H16
Public Const CSIDL_COMMON_PROGRAMS = &H17
Public Const CSIDL_COMMON_STARTUP = &H18
Public Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19
Public Const CSIDL_APPDATA = &H1A
Public Const CSIDL_PRINTHOOD = &H1B
Public Const CSIDL_ALTSTARTUP = &H1D
Public Const CSIDL_COMMON_ALTSTARTUP = &H1E
Public Const CSIDL_COMMON_FAVORITES = &H1F
Public Const CSIDL_INTERNET_CACHE = &H20
Public Const CSIDL_COOKIES = &H21
Public Const CSIDL_HISTORY = &H22

'API to open folders/programs
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _
    As Long

'API's for temporary internet files (ripped directly from M$ website)
Public Declare Function FindFirstUrlCacheGroup Lib "wininet.dll" ( _
    ByVal dwFlags As Long, _
    ByVal dwFilter As Long, _
    ByRef lpSearchCondition As Long, _
    ByVal dwSearchCondition As Long, _
    ByRef lpGroupId As Date, _
    ByRef lpReserved As Long) As Long

Public Declare Function FindNextUrlCacheGroup Lib "wininet.dll" ( _
    ByVal hFind As Long, _
    ByRef lpGroupId As Date, _
    ByRef lpReserved As Long) As Long
    
Public Declare Function DeleteUrlCacheGroup Lib "wininet.dll" ( _
    ByVal sGroupID As Date, _
    ByVal dwFlags As Long, _
    ByRef lpReserved As Long) As Long
    
Public Declare Function FindFirstUrlCacheEntry Lib "wininet.dll" Alias "FindFirstUrlCacheEntryA" ( _
    ByVal lpszUrlSearchPattern As String, _
    ByRef lpFirstCacheEntryInfo As INTERNET_CACHE_ENTRY_INFO, _
    ByRef lpdwFirstCacheEntryInfoBufferSize As Long) As Long
    
Public Type INTERNET_CACHE_ENTRY_INFO
    dwStructSize As Long
    szRestOfData(1024) As Long
End Type

Public Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" ( _
    ByVal lpszUrlName As Long) As Long

Public Declare Function FindNextUrlCacheEntry Lib "wininet.dll" Alias "FindNextUrlCacheEntryA" ( _
    ByVal hEnumHandle As Long, _
    ByRef lpNextCacheEntryInfo As INTERNET_CACHE_ENTRY_INFO, _
    ByRef lpdwNextCacheEntryInfoBufferSize As Long) As Long

Public Const CACHGROUP_SEARCH_ALL = &H0
Public Const ERROR_NO_MORE_FILES = 18
Public Const ERROR_NO_MORE_ITEMS = 259
Public Const CACHEGROUP_FLAG_FLUSHURL_ONDELETE = &H2
Public Const BUFFERSIZE = 2048

'API's for INI files
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lsString As Any, ByVal lplFilename As String) As Long
Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPriviteProfileIntA" (ByVal lpApplicationname As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

'API for always on top
Declare Function SetWindowPos Lib "USER32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

'Variable for tab to refresh
Public intTabRefresh As Integer

'Variables for check boxes
Public blnRefChecked As Boolean
Public blnLogChecked As Boolean
Public blnAutoComplete As Boolean

'Variable for logging
Public blnLogging As Boolean
Public lngSize As Long

'Variable for current tab
Public intTab As Integer

Public Sub ErrorHandler(ErrNum As Integer, ErrDesc As String, Procedure As String)
    '=======================
    'Global error handler
    '=======================
    MsgBox "Error number " & ErrNum & " occured in procedure " & Procedure, vbCritical + vbOKOnly, ErrDesc
End Sub

Public Sub AutoComplete(txtItem As TextBox, lngType As SHAC_Constants)
    'Code for Auto-Complete (Ripped from abstractvb.com)
    On Error Resume Next
    SHAutoComplete txtItem.hwnd, lngType
    Exit Sub
End Sub

⌨️ 快捷键说明

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