VC获取指定文件夹路径

flyfish  2010-3-5

一 使用Shell函数

1 获取应用程序的安装路径

TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);
AfxMessageBox(buf);

2 获取应用程序数据路径的文件夹

TCHAR bufApplicateData[_MAX_PATH];
SHGetSpecialFolderPath(NULL,bufApplicateData,CSIDL_APPDATA,NULL);
AfxMessageBox(bufApplicateData);

3 获取系统文件夹

TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_SYSTEM,NULL);
AfxMessageBox(buf);

4 获取Windows目录

TCHAR buf[_MAX_PATH];
SHGetSpecialFolderPath(NULL,buf,CSIDL_WINDOWS,NULL);
AfxMessageBox(buf);

5 获取其他指定文件夹

主要使用SHGetSpecialFolderPath函数
函数原型:BOOL SHGetSpecialFolderPath(HWND hwndOwner,LPTSTR lpszPath,int nFolder, BOOL fCreate);
参数nFolder指明获取什么样的文件夹。如下参考
MSDN可以搜索关键字:CSIDL
MSDN URL:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/shell/reference/enums/csidl.htm

二 使用其他API函数

1 获取系统文件夹

TCHAR  buf[_MAX_PATH];
GetSystemDirectory( buf, _MAX_PATH );
AfxMessageBox(buf);

2 获取Windows目录

TCHAR  buf[_MAX_PATH];
GetWindowsDirectory( buf, _MAX_PATH );
AfxMessageBox(buf);

以上程序在VC2005中调试通过。

VC 获取指定文件夹路径的方法小结的更多相关文章

  1. 算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数

    1.先解决如何获取一个文件的代码行数 一开始对于这个问题,我的思路就回荡在:1字符串子字符串的判断 2循环直到结束的想法 3将原来是"\n"替换掉之类的想法 一个问题总会有多种解决 ...

  2. Delphi获取文件名、不带扩展名文件名、文件所在路径、上级文件夹路径的方法

    1.获取不带扩展名的文件名方法,利用ChangeFileExt函数修改传入参数的扩展为空,并不会对文件本身产生变更. ChangeFileExt(ExtractFileName('D:\KK\Test ...

  3. IOS获得各种文档文件夹路径的方法

    iphone沙箱模型的有四个目录,各自是什么,永久数据存储一般放在什么位置.得到模拟器的路径的简单方式是什么. documents,tmp.app,Library. (NSHomeDirectory( ...

  4. python 获取当前文件夹路径及父级目录的几种方法

    获取当前文件夹路径及父级目录: import os current_dir = os.path.abspath(os.path.dirname(__file__)) print(current_dir ...

  5. Python获取指定文件夹下的文件名

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  6. php获取指定文件夹中文件名称

    /** * php获取指定文件夹中文件名称 * @author jackie <2018.10.10> */ public static function getFileName($fil ...

  7. Delphi XE的firemonkey获取当前文件所在路径的方法

    Delphi XE的firemonkey获取当前文件所在路径的方法 在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Applic ...

  8. python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)

    1.代码的运行结果: 获取 指定文件夹下.指定文件格式 文件的: 总代码行数.总注释行数(需指定注释格式).总空行数: #coding: utf-8 import os, re # 代码所在目录 FI ...

  9. winform中获取指定文件夹下的所有图片

    方法一: C#的IO自带了一个方法DirectoryInfo dir = new DirectoryInfo("文件夹名称");dir.getFiles();//这个方法返回值就是 ...

随机推荐

  1. 前序 中序 后序 遍历 递归 非递归算法 java实现

    前序遍历 非递归 public void preordernorec(TreeNode root){ //System.out.println("先序遍历(非递归):"); //用 ...

  2. 第一个Spark程序

    1.Java下Spark开发环境搭建(from http://www.cnblogs.com/eczhou/p/5216918.html) 1.1.jdk安装 安装oracle下的jdk,我安装的是j ...

  3. 【转】Lua编程规范

    Lua编程规范 1. 版本和版权问题 版权和版本的声明位于定义文件的开头(参见示例1-1),主要内容有: (1)版本号 <主版本号><次版本号><修订号> (2)文 ...

  4. python-Day4-迭代器-yield异步处理--装饰器--斐波那契--递归--二分算法--二维数组旋转90度--正则表达式

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  5. Swift 初见

    http://numbbbbb.gitbooks.io/-the-swift-programming-language-/chapter1/02_a_swift_tour.html 本页内容包括: 简 ...

  6. QVector 和vector的比较(QVector默认使用隐式共享,而且有更多的函数提供)

    QVector和vector的比较: Qvector默认使用隐式共享,可以用setSharable改变其隐式共享.使用non-const操作和函数将引起深拷贝.at()比operator[](),快, ...

  7. git教程1

    主要参考: 官方书籍: Pro Git 中文版:http://git.perlchina.org/book/zh 英文版:http://git.perlchina.org/book http://gi ...

  8. hibernate笔记(一)

    一.主配置文件hibernate.cfg.xml 位置:放在src目录下. 主要包含信息: 一.数据库信息    数据库方言(类的全名) 及 数据库链接信息 1.      数据库方言 2.      ...

  9. 基于Andoird 4.2.2的Account Manager源代码分析学习:AccountManagerService系统服务的添加

    从启动说起 Android系统加载时,首先启动init进程,该进程会启动Zygote进程.Zygote进程执行/system/bin/app_process程序.app_process程序在执行中,通 ...

  10. linux i2c驱动架构-dm368 i2c驱动分析

      linux i2c驱动架构-dm368 i2c驱动分析   在阅读本文最好先熟悉一种i2c设备的驱动程序,并且浏览一下i2c-core.c以及芯片提供商的提供的i2c总线驱动(i2c-davinc ...