NX二次开发-获取当前dll的项目路径、获取配置文件路径
- 获取当前dll的项目路径;
1 string NXCommon::GetUserDir()
2 {
3 std::string dll = GetHostName();
4 string dir, fname;
5 SplitFileName(dll, dir, fname);
6
7 string mdlName = GetModuleFullPath(fname);
8 string tailName = "application\\" + fname;
9
10 string userDir = mdlName.substr(0, mdlName.size() - tailName.size());
11
12 return userDir;
13 }
1 string GetHostName()
2 {
3 HMODULE handle = NULL;
4
5 bool isOK = GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
6 (char*)_ReturnAddress(), &handle);
7
8 if (isOK)
9 {
10 char name[1024] = { 0 };
11 GetModuleFileNameA(handle, name, 1024);
12
13 return std::string(name);
14 }
15 else
16 {
17 return "";
18 }
19 }
1 std::string GetModuleFullPath(std::string dllName)
2 {
3 HMODULE handle = GetModuleHandleA(dllName.c_str());
4
5 char lpFileName[_MAX_PATH + 1] = { '/0' };
6 GetModuleFileNameA(handle, lpFileName, _MAX_PATH);
7
8 return std::string(lpFileName);
9 }
- 获取配置文件路径。
1 string NXCommon::GetConfigDir()
2 {
3 return GetUserDir() + "config\\";
4 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律