以下代码获取当前exe运行目录,在点击运行时正确,但是如果程序开机自动启动,那么获取的目录将是系统桌面文档目录;

TCHAR szBuf[MAX_PATH]={0};
 // 注意:该函数开机启动时获取目录错误
 GetCurrentDirectory(MAX_PATH, szBuf);
 CString strExcutePath(szBuf);

以下函数获取exe模块绝对路径包括文件名,可以移除文件名取路径,不会出现上述错误。

TCHAR szBuf[MAX_PATH]={0};
 // 注意:该函数开机启动时获取目录错误
  TCHAR szBuf[MAX_PATH]={0};
 // 注意:该函数开机启动时获取目录错误
 //GetCurrentDirectory(MAX_PATH, szBuf);
 GetModuleFileName(GetModuleHandle(NULL) , szBuf, MAX_PATH);
 CString strExcutePath(szBuf);
 int index = strExcutePath.ReverseFind('\\');
 m_sFilePath = strExcutePath.Left(index)+"/config.ini";

GetCurrentDirectory()函数误区相关推荐

  1. 危险的两个函数GetCurrentDirectory和GetParent

    最近这段时间用vc做了一个客户端程序,好长时间不做这种程序了,很是生疏,由于接手的别人的二手项目,大部分代码都已经完成了,只是跑起来问题很大,很多意料之中和意料之外的问题让人又爱又恨.其中遇到了两个函 ...

  2. CreateDirectory GetCurrentDirectory 和SetCurrentDirectory

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

  3. C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()

    转自:http://hi.baidu.com/andywangcn/blog/item/10ba730f48160eeb37d122e9.html 配置文件中经常用到ini文件,在VC中其函数分别为: ...

  4. 利用GetPrivateProfileString读取配置文件(.ini)

    配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyNa ...

  5. 【转载】C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()

    配置文件中经常用到ini文件,在VC中其函数分别为: #include <Windows.h> //wince,WMobile.ppc不支持这几个函数 写入.ini文件:bool Writ ...

  6. MFC读取配置文件GetPrivateProfileString

    VC++中 3 个主要 写入/读取配置文件ini的函数: bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCT ...

  7. 郁金香商业辅助教程 2016 笔记 6~10

    六.相对路径 我们希望把 DLL 和这个程序放到一起,那么 DLL 路径就是程序所在路径加上 DLL 的名称. 将DllFullPath的定义注释掉,换成DllName: #define DllNam ...

  8. [2010-8-24]

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

  9. Billy Belceb病毒编写教程---Win32篇

    正在处理中,请稍后-- Billy Belceb病毒编写教程---Win32篇                                      翻译:onlyu                ...

最新文章

  1. 继承映射关系 TPH、TPT、TPCEntityFramework6.0
  2. SQL server 数据库——T-SQL语句基础
  3. 最长公共前缀(java实现)
  4. 草根版创业网站学巴菲特售时间 获天使投资
  5. Docker Centos安装 Openssh
  6. 【BZOJ2659】算不出的算式,打表找规律
  7. LCD屏参:手把手教你计算LCD屏参(proch值)
  8. linux根文件系统制作
  9. 项目管理中,制定项目进度计划有何意义?
  10. java计算机毕业设计高校贫困生信息管理系统源码+mysql数据库+系统+lw文档+部署
  11. 你想要的单片机自学指南都在这里(大一必看)
  12. k-近邻算法的优缺点及拓展思考
  13. AtCoder Beginner Contest 172 E - NEQ(二项式反演)
  14. python 根据坐标点计算方位角函数
  15. Navicat 连接阿里云上的数据库
  16. 堆与栈区别,以及分配内存的快慢
  17. SCTF2018 Writeup
  18. 作为程序员,哪些技能是必须要掌握的?
  19. 从Vimeo获取img缩略图?
  20. opencv图片处理

热门文章

  1. 编码练习——Java-8-输入/输出
  2. Java中Object.equals与String.equals的区别
  3. 如何写Java文档注释(Java Doc Comments)
  4. Elasticsearch创建索引和映射结构详解
  5. 计算机视觉与模式识别国际期刊整理
  6. 跟我一起写 Makefile(九)
  7. 编程之美-连连看游戏设计方法整理
  8. 《Effective Java》学习笔记 第二章 创建和销毁对象
  9. 【前端Talkking】CSS系列-css3之box-shadow介绍
  10. crypto-js RC4和hash_hmac运用