zoukankan      html  css  js  c++  java
  • NX二次开发-获取当前dll的项目路径、获取配置文件路径

    NX二次开发-获取当前dll的项目路径、获取配置文件路径

    1. 获取当前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. 获取配置文件路径。
    1 string NXCommon::GetConfigDir()
    2 {
    3     return GetUserDir() + "config\";
    4 }
  • 相关阅读:
    基础练习 高精度加法
    基础练习 阶乘计算
    基础练习 闰年判断
    基础练习 01字串
    基础练习 字母图形
    基础练习 数列特征
    基础练习 杨辉三角形
    基础练习 特殊的数字
    基础练习 回文数
    Codeforces 417A Elimination
  • 原文地址:https://www.cnblogs.com/xiang-L/p/14133016.html
Copyright © 2011-2022 走看看