当前位置: 首页 > news >正文

C#C++获取当前应用程序的安装目录和工作目录

很多时候,用户自己点击打开read.exe加载的时候都没有问题,读取ini配置文件也没有问题。但是如果应用程序是开机启动呢?32位Windows系统当前目录是C盘的windows\system32;而64位系统软件启动后默认的当前目录是:C:\Windows\SysWOW64,这个时候如果系统中不存在ini文件,就会报错找不到了。

C#代码:

string databasePath = Environment.CurrentDirectory + "\\Config.ini"; //程序工作目录,工作目录是应用程序启动的目录,例如开机启动程序调用read.exe,则是系统的32或者64目录。
string databasePath = Application.StartupPath + "\\Config.ini";//应用程序的安装目录

C++代码:
    TCHAR  NowPath[MAX_PATH];
    if (!GetModuleFileName(NULL, NowPath, MAX_PATH))//获取exe可执行文件的绝对路径
    {
        MessageBox(NULL, "GetModuleFileName failed", "报错", MB_OK);
        //printf("GetModuleFileName failed (%d)\n", GetLastError());
        return  FALSE;
    }
    PathRemoveFileSpec(NowPath);//将路径末尾的文件名和反斜杠去掉
    SetCurrentDirectory(NowPath);//设置当前应用程序新当前目录的路径
    char NowPaths[512] = "";
    strcat(NowPaths, NowPath);
    strcat(NowPaths, "\\Config.ini");

 

http://www.lryc.cn/news/503731.html

相关文章:

  • Linux中vi和vim的区别详解
  • 2021 年 6 月青少年软编等考 C 语言四级真题解析
  • UE5编辑器下将RenderTarget输出为UTexture并保存
  • 【漏洞复现】CVE-2024-34102 Magento Open Source XXE漏洞
  • soul大数据面试题及参考答案
  • GLM-4-Plus初体验
  • 基于springboot+vue的高校校园交友交流平台设计和实现
  • Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
  • 【前端开发】HTML+CSS网页,可以拿来当作业(免费开源)
  • 【人工智能-中级】卷积神经网络(CNN)的中阶应用:从图像分类到目标检测
  • [笔记] 编译LetMeowIn(C++汇编联编程序)过程
  • 牛客小白月赛107(A~E)
  • 批量DWG文件转换低版本(CAD图转低版本)——c#插件实现
  • 安装Python库
  • 智慧政务数据中台建设及运营解决方案
  • 陪玩系统小程序源码/游戏陪玩APP系统用户端有哪些功能?游戏陪玩小程序APP源码开发
  • 米哈游大数据面试题及参考答案
  • 使用Hydra库简化配置管理
  • 二维数组和函数
  • 如何在 Ubuntu 终端中打开当前文件夹的图形界面
  • 基于SpringBoot的嗨玩旅游网站:一站式旅游信息服务平台的设计与实现
  • Opencv之图像梯度处理和绘制图像轮廓
  • vue3的watch一次性监听多个值用法
  • Electron和C/C++开发桌面应用对比
  • Q学习(Q-Learning)详解
  • 【前端】 canvas画图
  • 超标量处理器设计笔记(10) 寄存器重命名过程的恢复、分发
  • 硬件设计-电源轨噪声对时钟抖动的影响
  • geeCache 一致性hash
  • 【我的开源】ESCurlGen 一款 ElasticSearch curl 命令生成器