转自:http://blog.csdn.net/wishfly/article/details/2906187

在开发软件里,常常碰到要读取当前目录下的配置参数文件,或者打开当前目录下别的程序来运行,那么就需要获取当前进程的目录位置,这就需要使用函数GetCurrentDirectory获取当前进程所有在的目录。同时也可以使用SetCurrentDirectory函数来改变进程的当前目录。
函数GetCurrentDirectory和SetCurrentDirectory声明如下:
WINBASEAPI
DWORD
WINAPI
GetCurrentDirectoryA(
    __in DWORD nBufferLength,
    __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer
    );
WINBASEAPI
DWORD
WINAPI
GetCurrentDirectoryW(
    __in DWORD nBufferLength,
    __out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer
    );
#ifdef UNICODE
#define GetCurrentDirectory GetCurrentDirectoryW
#else
#define GetCurrentDirectory GetCurrentDirectoryA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
SetCurrentDirectoryA(
    __in LPCSTR lpPathName
    );
WINBASEAPI
BOOL
WINAPI
SetCurrentDirectoryW(
    __in LPCWSTR lpPathName
    );
#ifdef UNICODE
#define SetCurrentDirectory SetCurrentDirectoryW
#else
#define SetCurrentDirectory SetCurrentDirectoryA
#endif // !UNICODE
nBufferLength是缓冲区的大小。
lpBuffer是接收目录的缓冲区指针。
lpPathName是设置的目录。
调用函数的例子如下:
#001  //获取或者改变当前目录路径。
#002  //蔡军生 2007/10/17 QQ:9073204 深圳
#003  void GetCurDir(void)
#004  {
#005         //
#006         TCHAR szBuf[MAX_PATH];
#007         ZeroMemory(szBuf,MAX_PATH);
#008         if (GetCurrentDirectory(MAX_PATH,szBuf) > 0)
#009         {
#010               //获取进程目录成功。
#011               OutputDebugString(szBuf);
#012         }
#013         else
#014         {
#015               //改变当前目录位置。
#016               SetCurrentDirectory(_T("C://"));
#017         }
#018 
#019         OutputDebugString(_T("/r/n"));          
#020  }

转载于:https://www.cnblogs.com/pamxy/archive/2013/03/04/2991520.html

GetCurrentDirectory和SetCurrentDirectory函数相关推荐

  1. CreateDirectory GetCurrentDirectory 和SetCurrentDirectory

    文章目录 CreateDirectory 函数功能 函数声明 第一个参数(第一种情况绝对路径) 第一个参数(第二种情况当前目录) 第二个参数 返回值 注意: 代码实现 绝对路径 当前目录 GetCur ...

  2. MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数

    在 开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetCurrentDirectory()和GetModuleFileName()函 数,GetCurrentDirectory只是返回当前 ...

  3. 用WinExec函数打开的应用程序无法使用相对路径

    有两个程序,A程序和B程序,B程序里有一个按钮,点击后能打开A程序. B程序的按钮响应函数里是这样实现的: WinExec("D:\\MyTest\\A.exe",1);   \* ...

  4. 路径,文件,目录,I/O常见操作汇总

    摘要:    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案 ...

  5. Unity3D心得分享

    本篇文章的内容以各种tips为主,不间断更新 2019/05/10 最近更新: 使用Instantiate初始化参数去实例对象 Unity DEMO学习 ======================= ...

  6. C# 获取当前路径方法

    //获取包含清单的已加载文件的路径或 UNC 位置. public static string sApplicationPath = Assembly.GetExecutingAssembly ( ) ...

  7. 《精通Windows API-函数、接口、编程实例》——第4章文件系统

    第4章文件系统 4.2 磁盘和驱动器管理 文件系统的基本概念: 包括磁盘分区,卷,目录,文件对象,文件句柄,文件映射 1.磁盘分区: 物理磁盘,逻辑磁盘 2.卷: 也称逻辑驱动器,是NTFS,FAT3 ...

  8. C#文件目录IO常见操作汇总

    http://www.kuaipan.cn/file/id_14185671388311824.html http://www.kuaipan.cn/file/id_14185671388311942 ...

  9. [2010-8-24]

    1. 在评分式查询中,每篇文章被分解成若干部分,例如标题.摘要.作者和正文等:而查询则同样由若干个关键字组成.给出查询q后,对每篇文章都进行评分,分数越高则认为相关度越大,于是排名就越靠前.而在每篇文 ...

最新文章

  1. Python3.5+SQL+Prometheus+Grafana报表/监控
  2. 你拖后腿了吗?工信部发布前 11 月软件行业经济报告
  3. JavaScript:工具库MyTools.js(自用不断填充····)
  4. UOJ #206. 【APIO2016】Gap
  5. 如何查询redhat的版本信息
  6. php改变文件模式的函数,php chmod 函数 改变文件模式
  7. 《程序员代码面试指南》第五章 字符串问题 字符串匹配问题
  8. 计算机网络第七版-《软件工程》试题(第4套含答案)
  9. 独家 | 盘点大数据标准化政策、组织及进展(附PPT下载)
  10. android 模拟器加速,android开发怎么设置加速模拟器如真机运行
  11. 跨数据库分布式实时事务 - 基于RabbitMQ实时消息队列服务实现
  12. html里 alt属性什么意思,HTML
  13. 计算机网络—数据交换方式
  14. 数据新时代 认知DMA基金会
  15. 支持多种视频格式的html网页视频播放器代码
  16. acm_icpc网络赛第三站:西安赛区
  17. 有MDF文件和LDF文件之后怎么创建数据库
  18. 神经网络之反向传播算法(均方根反向传播算法RMSProp)
  19. linux用户名设置,怎样更改linux的用户名
  20. C语言求两个数的较大值

热门文章

  1. windows环境给redis配置密码
  2. eclipse设置文档注释的格式
  3. 【示例】Lucene创建索引库编程步骤
  4. Java匿名内部类总结
  5. 汇编原理实验--输出ASCII码10H到100H
  6. 数据结构与算法 / 堆结构
  7. 网络通信之 字节序转换原理与网络字节序、大端和小端模式
  8. 启明云端感谢热心开发者分享SSD20x直接编译lvgl7.10带双缓(附源码)
  9. python jit_Pyston是一个基于JIT的Python开源实现
  10. 电脑管家离线安装包_二号线、南延线TVM病毒客户端离线处理方法