怎么样使用VB获得Windows各类系统目录

高手们帮我讲解下,怎么样使用VB获得Windows各类系统目录
最新回答
逝去的终将逝去

2024-10-17 18:09:59

用VB找Documents and Settings目录所处(XP系统盘上)用DIR函数获取文件夹下所有目录名(去除All Users 和 Default User LocalService NetworkService)简单方法 DIR函数用法: 用DIR函数用法下 Dir[(pathname[, attributes])] Dir 函数语法具有下几部分: vbDirectory 属性来调用 Dir 能连续地返回子目录!!! 下VB帮助自带查目录例子明确指出目录必须要用GetAttr ' 显示 C:\ 目录下名称 MyPath = "c:\" ' 指定路径 MyName = Dir(MyPath, vbDirectory) ' 找寻第项 Do While MyName <> "" ' 开始循环 ' 跳过当前目录及上层目录 If MyName <> "." And MyName <> ".." Then ' 使用位比较来确定 MyName 代表目录 If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' 目录其名称显示出来 End If End If MyName = Dir ' 查找下目录 Loop ========================================= (转) 用VB函数Dir实现递归搜索目录 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '函数GetExtName '功能:得文件缀名(扩展名) '输入:文件名 '输出:文件缀名(扩展名) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Function GetExtName(strFileName As String) As String Dim strTmp As String Dim strByte As String Dim i As Long For i = Len(strFileName) To 1 Step -1 strByte = Mid(strFileName, i, 1) If strByte <> "." Then strTmp = strByte + strTmp Else Exit For End If Next i GetExtName = strTmp End Function Public Function search(ByVal strPath As String, Optional strSearch As String = "") As Boolean Dim strFileDir() As String Dim strFile As String Dim i As Long Dim lDirCount As Long On Error GoTo MyErr If Right(strPath, 1) <> "\" Then strPath = strPath + "\" strFile = Dir(strPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly) While strFile <> "" '搜索当前目录 DoEvents If (GetAttr(strPath + strFile) And vbDirectory) = vbDirectory Then '找目录 If strFile <> "." And strFile <> ".." Then '排除掉父目录(..)和当前目录(.) lDirCount = lDirCount + 1 '目录数增1 ReDim Preserve strFileDir(lDirCount) As String strFileDir(lDirCount - 1) = strFile '用动态数组保存当前目录名 End If Else If strSearch = "" Then Form1.List1.AddItem strPath + strFile ElseIf LCase(GetExtName(strPath + strFile)) = LCase(GetExtName(strSearch)) Then '满足搜索条件则处理该文件 Form1.List1.AddItem strPath + strFile '文件全名保存至列表框List1 End If End If strFile = Dir Wend For i = 0 To lDirCount - 1 Form1.Label3.Caption = strPath + strFileDir(i) Call search(strPath + strFileDir(i), strSearch) '递归搜索子目录 Next ReDim strFileDir(0) '动态数组清空 search = True '搜索成功 Exit Function MyErr: search = False '搜索失败 End Function 返回 String用表示文件名、目录名或文件夹名称必须与指定模式或文件属性、或磁盘卷标相匹配 语法 Dir[(pathname[, attributes])] Dir 函数语法具有下几部分: 部分 描述 pathname 选参数用来指定文件名字符串表达式能包含目录或文件夹、及驱动器没有找 pathname则会返回零长度字符串 ("") attributes 选参数常数或数值表达式其总和用来指定文件属性省略则会返回匹配 pathname 包含属性文件 设置值 attributes 参数设置: 常数 值 描述 vbNormal 0 (缺省) 指定没有属性文件 vbReadOnly 1 指定无属性只读文件 vbHidden 2 指定无属性隐藏文件 VbSystem 4 指定无属性系统文件 vbVolume 8 指定卷标文件;指定了其属性则忽略vbVolume vbDirectory 16 指定无属性文件及其路径和文件夹 注意 些常数由 VBA 所指定程序代码任何位置使用些常数来替换真正数值 说明 Dir 支持多字符 (*) 和单字符 (?) 通配符来指定多重文件 由于 Macintosh 支持通配符使用文件类型指定文件组使用 MacID 函数指定文件类型而用文件名比下列语句返回当前文件夹第TEXT文件名称: Dir("SomePath", MacID("TEXT")) 选文件夹所有文件指定空串: Dir("") Microsoft Windows Dir函数使用MacID函数产生错误 任何大于256attribute值都被认MacID 函数值 第次调用 Dir 函数时必须指定 pathname否则会产生错误也指定了文件属性必须包括 pathname Dir 会返回匹配 pathname 第文件名若想得其匹配 pathname 文件名再次调用 Dir且要使用参数已没有合乎条件文件则 Dir 会返回零长度字符串 ("")旦返回值零长度字符串并要再次调用 Dir 时必须指定 pathname否则会产生错误必访问所有匹配当前 pathname 文件名改变新 pathname 上能递归方式来调用 Dir 函数 vbDirectory 属性来调用 Dir 能连续地返回子目录 提示 由于文件名并会特别次序来返回所文件名存储数组再对数组排序
逐风

2024-10-17 11:39:08

通过用API函数读取注册表的键值 ̄!! 键值:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 下的Cache键值为ie临时文件夹中的文件名及路径。