回答一个网友的问题.如何取OCX在运行时内存的地址.
告诉它直接用ModuleHandle就行了.这个就是它在内存中的地址.
然后他又问我怎么取当前的ModuleHandle.
Delphi中很方便,系统有个全局变量HInstance,系统初始化的时候会给它赋值当前模块的句柄.
但是他用的是VC.难道还要枚举系统所有模块不成,还是要把模块名字写死呢.
想到了GetModulehandleEx函数.果然有一个dwFlags参数.
当他的值是GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS的时候会根据模块中的一个地址告诉你这个地址所在的模块句柄.
特此在这里记录一下.免得以后忘了
HMODULE hModule = NULL;
GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
(LPCSTR)&XXX, //可以是任何函数,全局变量等的地址
&hModule);