获取当前模块的句柄
来源:互联网 发布:linux系统上网 编辑:程序博客网 时间:2024/05/18 21:05
当前模块的句柄在程序进入点可以获得,一般做法是保存为一个全局变量,以后使用这个全局变量即可。但有时在写一些比较通用的代码时刚好要用到模块句柄,如果还去访问这个全局变量就破坏了代码的通用性。
下面函数可以取得当前模块的句柄,无须保存,随调随得:
/*
通过一个地址取模块句柄
*/
inline HMODULE ModuleHandleByAddr(const void* ptrAddr)
{
MEMORY_BASIC_INFORMATION info;
::VirtualQuery(ptrAddr, &info, sizeof(info));
return (HMODULE)info.AllocationBase;
}
/*
当前模块句柄
*/
inline HMODULE ThisModuleHandle()
{
static HMODULE sInstance = ModuleHandleByAddr((void*)&ThisModuleHandle);
return sInstance;
}
- 获取当前模块的句柄
- 通过VirtualQuery获取当前模块的句柄
- 获取当前模块句柄GetModuleHandle
- 获取当前进程的模块句柄(获取当前模块的基址)
- 根据进程结合GetModuleHandle获取当前主模块的句柄
- C++函数举例:获取当前模块句柄
- AfxGetResourceHandle用于获取当前资源模块句柄,而AfxSetResourceHandle则用于设置程序目前要使用的资源模块句柄。
- 根据进程结合GetModuleHandle获取当前主模块句柄
- MFC规则dll中获取当前模块句柄
- MFC 获取当前活动窗口的句柄
- MFC 获取当前活动窗口的句柄
- GetCurrentThread()获取当前线程句柄的陷阱
- 随笔6 - 获取当前程序的句柄
- MFC 获取当前活动窗口的句柄
- 获取当前句柄的4种方法
- 获得当前的模块名或者模块句柄
- 获取当前线程句柄
- 获取模块句柄/基址
- Linux下TFTP服务的安装、配置和操作
- linux文件名称和内容编码的转化
- word中替换被批注的正文的值
- 多线程2
- Ubuntu下为eclipse增大内存解决方案
- 获取当前模块的句柄
- DIV层浮动问题
- java中thread的start()和run()的区别
- Lucene的各种query
- C++中堆和栈的比较表
- Spring对访问路径进行配置(spring-servlet.xml)
- 类string的构造函数、析构函数和赋值函数
- LP-630K打印机无法插入放发票或纸张,只要一碰到就发出滴滴滴滴的声音的解决方法
- 理解 pkg-config 工具