WINDOWS下获得DLL所在目录的代码

简介: WINDOWS下获得DLL所在目录的代码

 获取执行文件所在目录:

static char* getRunningPath(const char* pExe, char* pBuffer, const UINT appPathSize)
{
  if (GetModuleFileNameA(GetSelfModuleHandle(), pBuffer, appPathSize) == 0)
  {
    return NULL;
  }
  return pBuffer;
}

如果要获取加载的dll目录呢?

//windows下获取当前dll的句柄
static HMODULE GetSelfModuleHandle()
{
  MEMORY_BASIC_INFORMATION mbi;
  return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0) ? (HMODULE)mbi.AllocationBase : NULL);
}
static char* getRunningPath(const char* pExe, char* pBuffer, const UINT appPathSize)
{
  if (GetModuleFileNameA(
        (pExe != NULL && strlen(pExe) > 0) ? NULL : GetSelfModuleHandle(),
        pBuffer, appPathSize) == 0)
  {
    return NULL;
  }
  return pBuffer;
}

  如果有执行文件,就获取执行文件的目录,否则获取so的目录。

目录
相关文章
|
1月前
|
数据可视化 Python Windows
使用 Python 代码在 windows 控制台打印正弦三角函数
使用 Python 代码在 windows 控制台打印正弦三角函数
|
1月前
|
BI Windows Python
python报表自动化系列 - 在Windows中打开指定目录
python报表自动化系列 - 在Windows中打开指定目录
38 1
|
1月前
|
存储 Java C语言
Windows 下 JNI 调用动态链接库 dll
Windows 下 JNI 调用动态链接库 dll
107 0
|
23天前
|
缓存 开发工具 git
windows系统通过git上传代码
windows系统通过git上传代码
18 1
|
9天前
|
Python Windows
在 Windows 平台下打包 Python 多进程代码为 exe 文件的问题及解决方案
在使用 Python 进行多进程编程时,在 Windows 平台下可能会出现将代码打包为 exe 文件后无法正常运行的问题。这个问题主要是由于在 Windows 下创建新的进程需要复制父进程的内存空间,而 Python 多进程机制需要先完成父进程的初始化阶段后才能启动子进程,所以在这个过程中可能会出现错误。此外,由于没有显式导入 Python 解释器,也会导致 Python 解释器无法正常工作。为了解决这个问题,我们可以使用函数。
15 5
|
20天前
|
网络架构 Windows
windows电脑开机自动启动FRP客户端CMD代码,增加延时15秒功能
经常使用FRP客户端的都知道,FRP客户端启动时需要电脑有网络,否则会自动退出。我们的电脑在启动时,受路由器网络的影响,很多时间并不能第一时间建立起网络来,所以很容易受到网络影响,让FRP客户端自动启动发生故障。而这里的解决办法就是增加一段代码,可以延时15秒再执行。
|
1月前
|
缓存 网络协议 Linux
碎片技能:在 Windows 的任意目录一键快捷进入 CMD 命令行界面
在Windows 10/11中,SaaS服务商常需使用命令行,如PowerShell或CMD。本文介绍了如何进入DOS命令行:通过“开始”菜单→“运行”→输入“cmd”,然后确认。此外,还展示了如何在任意目录快速启动DOS命令行,只需右键点击并选择相应菜单项。提供两种实现方法:一是导入注册表文件,二是使用名为ContextMenuManager的优化软件。建议使用软件方法,易于添加和删除菜单项。
30 1
碎片技能:在 Windows 的任意目录一键快捷进入 CMD 命令行界面
|
23天前
|
Windows
win10 cmd切换不了目录 windows命令提示符 切换目录 (已解决)
win10 cmd切换不了目录 windows命令提示符 切换目录 (已解决)
14 0
|
1月前
|
存储 Java C++
Windows 下 JNA 调用动态链接库 dll
Windows 下 JNA 调用动态链接库 dll
81 0
|
1月前
|
安全 Windows
关于 Windows 操作系统的 Recovery 目录
关于 Windows 操作系统的 Recovery 目录