取得路径的程序:(注意红色字体,由于博客显示问题,所以中间加了空格,大家自己把空格去掉即可)

// ---------------------------------------------------------------------------
#define NO_WIN32_LEAN_AND_MEAN
#inclu de <vcl.h>
#pragma hdrstop

#inclu de "Unit1.h"
#inclu de "shlobj.h "
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}

// ---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender) {
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
//定义快捷方式的数据文件名

char szDir[MAX_PATH];

if (S?(SHGetMalloc(&pShellMalloc))) {
// 取得快捷方式的PIDL

if (S?(SHGetSpecialFolderLocation(NULL, CSIDL_APPDATA, &pidl))){

// 把PIDL转换为路径名
if (SHGetPathFromIDList(pidl, szDir)) {
//szDir就是所要取得的路径

Label1->Caption = szDir;
}

pShellMalloc->Free(pidl);
}

pShellMalloc->Release();
}

}

将CSIDL_STARTUP变换成其他,如
CSIDL_ADMINTOOLS
表示当前用户的“管理工具”系统文件夹
CSIDL_APPDATA
表示当前用户的特定的应用程序数据存储文件夹,例如:C:\Documents and Settings\username\Application Data
CSIDL_BITB KET
表示回收站
CSIDL_COMMON_ADMINTOOLS
表示所有用户的“管理工具”系统文件夹
CSIDL_COMMON_ALTSTARTUP
表示所有用户的 (只支持WINDOWS NT 系统)
CSIDL_COMMON_APPDATA
表示所有用户的特定的应用程序数据存储文件夹,例如:C:\Documents and Settings\All Users\Application Data
CSIDL_COMMON_DESKTOPDIRECTORY
表示所有用户的“桌面”文件夹,例如:C:\Documents and Settings\All Users\Desktop。
CSIDL_COMMON_DOCUMENTS
表示所有用户的“我的文档”文件夹,例如:C:\Documents and Settings\All Users\Documents
CSIDL_COMMON_FAVORITES
表示所有用户的“我的收藏夹”文件夹。
CSIDL_COMMON_PROGRAMS
表示所有用户的“程序”文件夹,例如:C:\Documents and Settings\All Users\Start Menu\Programs
CSIDL_COMMON_STARTMENU
表示所有用户的“开始菜单”文件夹,例如:C:\Documents and Settings\All Users\Start Menu
CSIDL_COMMON_STARTUP
表示所有用户的“启动”文件夹,例如:C:\Documents and Settings\All Users\Start Menu\Programs\Startup
CSIDL_COMMON_TEMPLATES
表示所有用户的“模块”文件夹,例如:C:\Documents and Settings\All Users\Templates
CSIDL_CONTROLS
表示“控制面板”文件夹
CSIDL_COOKIES
表示当前用户Internet Explorer的cookie 文件夹,例如:C:\Documents and Settings\username\Cookies
CSIDL_DESKTOP
表示“桌面”虚拟文件夹,包含了计算机中的所有内容
CSIDL_DESKTOPDIRECTORY
表示当前用户的“桌面”文件夹,例如:C:\Documents and Settings\username\Desktop

C++ Builder获取系统文件的路径的更多相关文章

  1. windows程序设计 获取系统文件路径

    获取系统文件路径,打印到txt文件中. #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hP ...

  2. golang获取程序运行路径

    golang获取程序运行路径: /* 获取程序运行路径 */ func getCurrentDirectory() string { dir, err := filepath.Abs(filepath ...

  3. C#、ASP.NET获取当前应用程序的绝对路径,获取程序工作路径 (转帖)

    C#.ASP.NET获取当前应用程序的绝对路径,获取程序工作路径   ============================================ 使用 Application.Start ...

  4. iOS 获取沙盒路径方法

    //获取家目录路径的函数: NSString *homeDir = NSHomeDirectory(); //获取Documents目录路径的方法: NSArray *paths = NSSearch ...

  5. 【转】Java Web 项目获取运行时路径 classpath

    Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

  6. iOS创建、删除文件夹、获取沙盒路径

    1.获取沙盒路径 // 获取沙盒路径 NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent: ...

  7. java获取classpath文件路径空格转变成了转义字符%20的问题

    java获取classpath文件路径空格转变成了转义字符%20的问题 这个问题很纠结,服务器的文件路径带有空格,空格被转化是%20了,悲剧就出现了 下面展示一段代码String path = get ...

  8. paip.获取文件名从路径uapi java python php总结...

    paip.获取文件名从路径uapi java python php总结... =====uapi basename_noext($fname); =============java  自己写.. St ...

  9. linux C++ 获取文件绝对路径

    提供ftp服务时需要获取文件绝对路径,这里记录一下. #include <stdlib.h> #include <stdio.h> #include <limits.h& ...

随机推荐

  1. 最详尽使用指南:超快上手Jupyter Notebook

    最详尽使用指南:超快上手Jupyter Notebook - CSDN博客https://blog.csdn.net/DataCastle/article/details/78890469

  2. Netty环境安装配置

    本章中介绍的Netty开发环境的安装及配置; 这个一系列教程示例的Netty最低要求只有两个:最新版本的Netty 4.x和JDK 1.6及更高版本. 最新版本的Netty在项目下载页面中可找到:ht ...

  3. 内置Jetty配置JSP支持过程中的常见报错

    目录 1. 常见报错及解决 1.1 JSP support not configured 1.2 JSTL标签解析 1.3 JSP编译 1.4 JSP实现依赖 1.5 EL表达式支持 2. 小结 1. ...

  4. 003-JavaString数据类型

    String类型可以和8中基本数据类型做运算(byte/short/char/int/long/float/double/boolean),且只能是连接运算 1. 区分 连接符 和 “+” 的区别 c ...

  5. (转)protobuf-----Mac 机器安装

    转自: https://blog.csdn.net/u014534808/article/details/80203018 安装之旅 1. 下载protobufprotobuf下载页面 在此页面选择合 ...

  6. split的用法

    split用法返回的是数组 使用split('')根据空格返回数组 使用split()返回一个完整的数组 使用split("",3)返回前三项,是单个的字母 不过要注意: 使用sp ...

  7. CSIC_716_20191104【流程控制语句】

    流程控制语句 if 语法结构 if 逻辑判断为真 : xxxxxx else: xxxxx while 语法结构  (continue.break) while 逻辑判断为真: xxxxxxx con ...

  8. TCP三次握手形象理解

    tcp三次握手就像是你用企业微信给人家发信息,首先你得确认别人在不在,你会发  在吗?  这个时候显示的是未读   对方看到之后未读会变成已读 然后他会回复你  在的    你看到这个消息后,他那边也 ...

  9. npm与cnpm两者之间的区别是什么?

    NPM(节点包管理器)是节点的包管理器,用于管理节点插件(包括安装.卸载和管理依赖关系等).).NPM是一个软件包管理工具,安装在新版本的节点上,所以我们需要安装节点. NPM的常用场景(http:/ ...

  10. 软件设计师_C语言基础

    1.常量 表示八进制,不带前缀则默认表示十进制.整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long).后缀可以是大写,也可以是小写, ...