以下的函数,可以用来获取windows 诸如“windows、temp、sendto、desktop、开始菜单” 等目录。

------------------------------------------以下代码在模块 ----------------------------------------

程序代码:
'***********************************************************
'**模 块 名         GetFolderS
'**作    用         获取WINDOWS特殊目录
'**作    者         石陆
'**制作日期         2007 / 12 / 4
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************
Option Explicit

Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Const MAX_LEN = 200 '字符串最大长度

Public Enum SpecialFolder
    WIN_WINDOWS = &H24& '自己定的
    WIN_SYSTEM = &H25& '自己定的
    WIN_PROGRAMFILES = &H26& 'c:\programfils
    WIN_TEMP = &H33& '自己定的
    USER_DESKTOP = &H0& '桌面
    USER_PROGRAMS = &H2& '程序集
    USER_MYDOCUMENTS = &H5& '我的文档
    USER_MYFAVORITES = &H6& '收藏夹
    USER_STARTUP = &H7& '启动
    USER_RECENT = &H8& '最近打开的文件
    SENDTO = &H9& '发送
    USER_STARTMENU = &HB& '开始菜单
    NETHOOD = &H13& '网上邻居
    WIN_Fonts = &H14& '字体
    SHELLNEW = &H15& 'ShellNew
    ALL_STARTMENU = &H16& '所有用户的开始菜单
    ALL_PROGRAMS = &H17& '所有用户的开始程序菜单
    ALL_STARTUP = &H18& '所有用户的启动菜单
    ALL_DESKTOP = &H19& '所有用户的桌面
    APPDATA = &H1A& 'Application Data
    PRINTHOOD = &H1B& 'PrintHood
    PAGETMP = &H20& '网页临时文件
    COOKIES = &H21& 'Cookies目录
    HISTORY = &H22& '历史
    
End Enum

'***********************************************************
'**函 数 名         GetSpecialFolder
'**作    用         获取WINDOWS特殊目录
'**作    者         石陆
'**制作日期         2007 / 12 / 4
'**修    改
'**修改日期
'**石陆软件屋       http://baidu.bzzo.net
'***********************************************************
Public Function GetSpecialFolder(sName As SpecialFolder) As String
    Dim sTmp As String * MAX_LEN  '存放结果的固定长度的字符串
    Dim nLength As Long  '字符串的实际长度
    Dim pidl As Long  '某特殊目录在特殊目录列表中的位置
    Select Case sName
        Case &H24&
            nLength = GetWindowsDirectory(sTmp, MAX_LEN)
            GetSpecialFolder = Left(sTmp, nLength)
        Case &H25&
            nLength = GetSystemDirectory(sTmp, MAX_LEN)
            GetSpecialFolder = Left(sTmp, nLength)
        Case &H33&
            nLength = GetTempPath(MAX_LEN, sTmp)
            GetSpecialFolder = Left(sTmp, nLength)
        Case &H26& 'c:\programfils
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H0&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H2&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H5&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H6&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H7&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H8&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H9&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &HB&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H13& '网上邻居
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H14& '字体
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H15&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H16&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H17&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H18&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H19&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H1A&
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H1B& 'PrintHood
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H20& '网页临时文件
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H21&  'Cookies目录
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
        Case &H22& '历史
            SHGetSpecialFolderLocation 0, sName, pidl
            SHGetPathFromIDList pidl, sTmp
            GetSpecialFolder = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
    End Select
'35,36,37,38
    GetSpecialFolder = IIf(Right$(GetSpecialFolder, 1) = "\", GetSpecialFolder, GetSpecialFolder & "\")
    sTmp = ""
End Function

摘自:网络整理

相关文章参考:

※利用VB函数Dir()实现递归搜索目录

※VB获取windows各常用目录的函数(模块)

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

※VB判断文件及目录的存在性

※谈vb目录文件操作的三种方法-1

※谈vb目录文件操作的三种方法-2

※VB 使用SendMessage枚举文件与目录

相关函数文章参考:


※VB 获取Textbox文本框中的行数函数

【VB】StrConv函数.

VB获取windows各常用目录的函数(模块)

VB:常用内部函数大全,你会了几个呢?

VB后台获得按键,并执行自己的函数(非钩子及热键)

※利用VB函数Dir()实现递归搜索目

※巧用SendMessage函数扩展Treeview功能

※比CopyMemory还要快的函数SuperCopyMemory

※VB利用API函数来处理文件

※利用VB函数Dir()实现递归搜索目录

※利用API函数计算程序运行时间VB

※利用VB函数Dir()实现递归搜索目录

※VB Environ系统环境变量函数大全

※VB 创建快捷方式函数(可带参数)


VB部分相关文章推荐

※VB快速读取 TextBox 第 N 行的资料

※VB禁止使用 Alt-Tab 或 Ctrl-Alt-Del

※生成迷宫的程序

※另一方法转换大小写

※VB控件注册 - 利用资源文件将dll、ocx打包进exe文件

※VB利用资源文件进行工作

※[转]vb高效编程(优化)

※VB阳历转阴历

※纯VB代码取得硬盘的物理序列号

※VB获得磁盘的文件系统

※做VB的,经常注册和反注册OCX控件和DLL链

※VB从程序中生成Exe文件

※VB6监视/操作剪贴板示例(VB6.0代码)

※VB6里自动提交/自动填表的一种相对通用的方案

※VB移动没有标题的窗体

※VB随机字母的函数

※VB删除带子文件夹和文件的文件夹

※VB怎样屏蔽 Alt+F4键

※VB 隐藏进程

※vb屏蔽文本框点右键时的弹出菜单

※VB手控Combobox的打开或收起

※在VB中INI文件的读写、删除(对中文支持很好)

※vb全局热键的写法(占很少的资源)

※vb取消文本框的粘贴功能

※VB常用文件操作类

※VB获取特殊文件夹

※VB获取windows各常用目录的函数(模块)

※VB生成太极图

※VB:常用内部函数大全,你会了几个呢?

※vb中SendMessage函数

※精简VB程序的代码

※VB:将数字转换为大写中文

※VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

※VB:读取及设定NumLock/CapsLock/ScrollLock的值

※VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

※VB后台获得按键,并执行自己的函数(非钩子及热键)

※VB:将短文件名格式转成长文件名

※在vb中使用Iphlpapi.dll获取网络信息(上)

※在vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩>>>

VB获取windows各常用目录的函数(模块)相关推荐

  1. windows编程常用系统API函数

    windows编程常用API的函数 1. API之网络函数 2. API之消息函数 3. API之文件处理函数 4. API之打印函数 5. API之文本和字体函数 6. API之菜单函数 7. AP ...

  2. VB获取Windows操作系统所有版本

    '**************************************************************************** '人人为我,我为人人 '枕善居汉化收藏整理 ...

  3. php c:windowstemp,HTML_获取Windows / System / Temp 目录路径,在我们启动电脑的同时,我们 - phpStudy...

    获取Windows / System / Temp 目录路径 在我们启动电脑的同时,我们的操作系统,会挪出一个区块,用来存放一些系统环境变量,或许您会问,到底存了哪些东西呢?其实说来不外乎几个来源: ...

  4. windows c语言目录操作函数,c语言目录操作在C/C++语言中如何进行目录操作,如得到目录内的 爱问知识人...

    这里给你提供一些C的目录操作函数,原型声明所在头文件为dir.h.dos.h,仅供参考: int chdir(char *path) 使指定的目录path(如:"C:\\WINDOWS&qu ...

  5. windows c语言目录操作函数,C/C++: C语言目录操作

    转自: http://hi.baidu.com/yinjiubo_java/blog/item/4b6a9e178706ec0dc83d6d4e.html 这里给你提供一些C的目录操作函数,原型声明所 ...

  6. Linux系统常用目录操作函数

    参考<Linux程序设计>第二版P103 扫描目录: #include <stdio.h> #include <stdlib.h> #include <str ...

  7. Qt5.9获取Windows所有盘符(函数QFileInfoList QIr::drives())

    1.1Qt5.9获取所有盘符用函数QFileInfoList QIr::drives(),代码如下: foreach (QFileInfo my_info, QDir::drives()){qDebu ...

  8. [linux]获取当前文件所在目录的函数

    ############################################################## ## @Usage get_cur_path ## @Return ## ...

  9. 怎样用VB获得Windows各类系统目录

    现在有很多关于如何用VB获得Windows目录的文章,但大都只讲到如何获得Windows目录和System目录,有时候我们却需要获得像"我的文档"这样的目录("我的文档& ...

最新文章

  1. 老大说要自动化测试,我是怎么做的可以看看
  2. 硬盘IO,SAS,SATA,和HD TUNE
  3. 2016秋季阅读笔记一
  4. js生成元素的事件不执行问题
  5. 9 个可以快速掌握的 Java 性能调优技巧
  6. 从论文到PPT,一键生成!从此报告不用愁!
  7. Java ClassLoader getSystemClassLoader()方法与示例
  8. python和.net的区别_c#教程之.net和C#的区别
  9. C++ string类常用函数
  10. MVC进阶学习--HtmlHelper控件解析(五)
  11. 粤港澳湾区邮轮产业崛起 构建邮轮母港群尚需加强合作
  12. 再谈mysql数据库之索引,联合索引,覆盖索引
  13. 2016-4-18 ICMPv6协议[RFC2463]--报文详解
  14. 计算机科学本质源自于数学思维,计算思维的特点、特征:形式化、程序化、机械化...
  15. python输入某年某月某日是一年的第几天_Python小例子——输入某年某月某日,判断这一天是这一年的第几天...
  16. python实现电脑自动拨号换ip(pppoe)
  17. python爬新闻并保存到csv_python爬取信息并保存至csv
  18. EXCEL设置下拉选项,选项带颜色
  19. 天才小毒妃 第912章 坑了一大笔
  20. kali2021安装GVM(openVAS)

热门文章

  1. BAT 厮杀的小程序与手机厂商叫板的快应用,对开发者意味着什么?
  2. linux通过网关挂在nfs,NFS 网络文件系统挂载在A8板子上
  3. linux下进程的创建代码,伪代码说明Linux进程创建过程
  4. java大数据开发工程师,面试题附答案
  5. Redis配置优化和使用
  6. 计算机技能大赛初赛主持稿,职业技能大赛开幕式主持词
  7. 前端打印样式乱了_皮具大百科之皮料上的3D打印,连花的阴影都能完美复刻!超美工艺...
  8. udp怎么保证不丢包_MQ不丢消息,究竟是怎么实现的?
  9. ios charts显示固定个数_上次挂在了百度iOS二面不服气, 三月之期已到,这次终于拿下offer!...
  10. Playwright 可靠的端到端测试