可能重複:
How do I get the HMODULE for the currently executing code?如何獲取我自己的代碼模塊句柄?
我試圖找到我自己的模塊的資源。如果這個模塊是一個可執行文件,那很簡單 - GetModuleHandle(NULL)
返回「main」模塊的句柄。
但是,我的模塊是由另一個可執行文件加載的DLL。因此GetModuleHandle(NULL)
會將模塊句柄返回給該可執行文件,這顯然不是我想要的。
有什麼方法可以確定包含當前運行代碼的模塊的模塊句柄嗎?在對GetModuleHandle()
的調用中使用DLL的名稱對我來說似乎是一種攻擊(並且在將代碼移植到不同的DLL中時不易維護)。
請您提供有關此解決方案的更多細節?作爲線程的作者,我遇到了同樣的問題,但是我不知道DllMain是什麼,它何時被調用,以及如何存儲我需要的信息。 – 2017-04-27 13:12:49
@MarcinK。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspx - 這解釋了什麼是DllMain。它是模塊的一個可選入口點,您可以創建並執行諸如將模塊句柄存儲在全局變量中的操作。 – 2017-05-01 07:19:04