Duplicar posible:
How do I get the HMODULE for the currently executing code?¿Cómo obtener el identificador del módulo de mi propio código?
estoy tratando de encontrar un recurso en mi propio módulo. Si este módulo es un ejecutable, eso es trivial: GetModuleHandle(NULL)
devuelve el identificador del módulo "principal".
Mi módulo, sin embargo, es una DLL cargada por otro ejecutable. Entonces, GetModuleHandle(NULL)
devolverá el identificador del módulo a ese ejecutable, que obviamente no es lo que quiero.
¿Hay alguna forma de determinar el identificador del módulo que contiene el código actualmente en ejecución? Usar el nombre de la DLL en una llamada a GetModuleHandle()
me parece un truco (y no es fácil de mantener en caso de que el código en cuestión se trasplante a una DLL diferente).
Podría por favor dar algunos detalles más sobre esta solución? Tengo el mismo problema que el autor del hilo, pero no sé qué es el DllMain, cuándo se llama y cómo puedo almacenar la información que necesito. –
@MarcinK. https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspx: esto explica qué es DllMain. Es un punto de entrada opcional en su módulo que puede crear y hacer cosas como almacenar el identificador del módulo en una variable global. –