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

📄 module1.bas

📁 电子书“Visual Basic 6 网络编程实例教程.rar”
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit

Public Declare Function GetVersionEx Lib "kernel32" _
   Alias "GetVersionExA" _
  (lpVersionInformation As OSVERSIONINFO) As Long

Public Const VER_PLATFORM_WIN32s = 0
Public Const VER_PLATFORM_WIN32_WINDOWS = 1
Public Const VER_PLATFORM_WIN32_NT = 2


'windows定义的数据类型OSVERSIONINFO
Public Type OSVERSIONINFO
  OSVSize         As Long
  dwVerMajor      As Long
  dwVerMinor      As Long
  dwBuildNumber   As Long
  PlatformID      As Long
  szCSDVersion    As String * 128
End Type
                                  
'将元素标志列表转换为文件系统路径
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" _
   Alias "SHGetPathFromIDListA" _
  (ByVal pidl As Long, _
   ByVal pszPath As String) As Long

'显示浏览对话框,并允许用户选择一个shell文件夹
Public Declare Function SHBrowseForFolder Lib "shell32.dll" _
   Alias "SHBrowseForFolderA" _
  (lpBrowseInfo As BROWSEINFO) As Long

Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _
   (ByVal hwndOwner As Long, _
    ByVal nFolder As Long, _
    pidl As Long) As Long
    
Public Declare Sub CoTaskMemFree Lib "ole32.dll" _
   (ByVal pv As Long)


'SHBrowseForFolder的参数
Public Type BROWSEINFO    'BI
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

'BROWSEINFO.ulFlags的常量值
Public Const BIF_RETURNONLYFSDIRS = &H1      '只包含文件系统目录
Public Const BIF_DONTGOBELOWDOMAIN = &H2     '不包含域以下的网络文件夹
Public Const BIF_STATUSTEXT = &H4            '对话框中包含状态区域
Public Const BIF_RETURNFSANCESTORS = &H8     '只返回文件系统祖先
Public Const BIF_EDITBOX = &H10              '允许用户进行重命名操作
Public Const BIF_VALIDATE = &H20             '对编辑框内容进行有效性检测
Public Const BIF_USENEWUI = &H40             '5.0版中的新特性,允许用户改变对话框大小,
                                             '在对话框中实施拖放操作,
                                             '允许用户新建、删除文件夹
                                             '要使用这个新特性,必须在调用SHBrowseForFolder之前
                                             '调用OleInitialize或CoInitialize函数
Public Const BIF_BROWSEFORCOMPUTER = &H1000  '只返回计算机
Public Const BIF_BROWSEFORPRINTER = &H2000   '只返回打印机
Public Const BIF_BROWSEINCLUDEFILES = &H4000 '可浏览所有元素
Public Const MAX_PATH = 260

'CSIDLs常量
Public Const CSIDL_DESKTOP = &H0                   '桌面
Public Const CSIDL_INTERNET = &H1                  'IE(桌面上的图标)
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                    'windows\字体
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_LOCAL_APPDATA = &H1C            '(用户)\本地设置\应用程序数据
                                                 
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
Public Const CSIDL_COMMON_APPDATA = &H23           '(所有用户)\应用程序数据
Public Const CSIDL_WINDOWS = &H24                  'GetWindowsDirectory()
Public Const CSIDL_SYSTEM = &H25                   'GetSystemDirectory()
Public Const CSIDL_PROGRAM_FILES = &H26            'C:\Program Files
Public Const CSIDL_MYPICTURES = &H27               'C:\Program Files\My Pictures
Public Const CSIDL_PROFILE = &H28                  'USERPROFILE
Public Const CSIDL_PROGRAM_FILES_COMMON = &H2B     'C:\Program Files\Common
Public Const CSIDL_COMMON_TEMPLATES = &H2D         '(所有用户)\Templates
Public Const CSIDL_COMMON_DOCUMENTS = &H2E         '(所有用户)\Documents
Public Const CSIDL_COMMON_ADMINTOOLS = &H2F        '(所有用户)\开始菜单\程序\系统管理工具
                                                 
Public Const CSIDL_ADMINTOOLS = &H30               '(用户)\开始菜单\程序\系统管理工具
                                                  
Public Const CSIDL_FLAG_CREATE = &H8000&           '与其它CSIDL_XXX组合,强制
                                                   'forceSHGetSpecialFolderLocation()创建相应的文件夹
Public Const CSIDL_FLAG_DONT_VERIFY = &H4000
                                                   
Public Const CSIDL_FLAG_MASK = &HFF00              '屏蔽所有的标志

'未使用的常量
'Public Const CSIDL_SYSTEMX86 = &H29               'RISC上的x86系统目录
'Public Const CSIDL_PROGRAM_FILESX86 = &H2A        'RISC上的x86的C:\Program Files目录
'Public Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C 'RISC上的x86的Program Files\Common目录



Public Function IsWin2000()

   #If Win32 Then
  
      Dim OSV As OSVERSIONINFO
   
      OSV.OSVSize = Len(OSV)
   
      If GetVersionEx(OSV) = 1 Then
   
        'PlatformId给出了OS的标志值
        '如果其值为VER_PLATFORM_WIN32_NT,
        '且dwVerMajosr值为5,则返回True
         IsWin2000 = (OSV.PlatformID = VER_PLATFORM_WIN32_NT) And _
                   (OSV.dwVerMajor = 5)
      End If

   #End If

End Function


Public Function IsWinNT()

   #If Win32 Then
  
      Dim OSV As OSVERSIONINFO
   
      OSV.OSVSize = Len(OSV)
   
      If GetVersionEx(OSV) = 1 Then
   
        'PlatformId给出了OS的标志值
        '如果其值为VER_PLATFORM_WIN32_NT,则返回True
         IsWinNT = (OSV.PlatformID = VER_PLATFORM_WIN32_NT)
      End If

   #End If

End Function


⌨️ 快捷键说明

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