![](/img/trans.png)
[英]Calling a method in another process from DLL which is loaded by a process
[英]How to find in a DLL which process loaded it?
我正在改進一個DLL模塊,它充當Windows應用程序的一種插件。
此插件與單個軟件行的各種版本兼容。 現在,對於某個功能,我必須訪問父軟件的配置文件。 由於軟件的不同版本在不同的地方有這些,我必須找出加載DLL的版本。 可通過進程可執行文件名稱(即abc_v1.exe,abc_v2.exe,abc_v3.exe)輕松識別單獨的版本。
有沒有辦法獲取加載DLL的進程的名稱? 我正在使用C ++和一些基本的WinAPI命令,但不是ATL,MFC等。
目前,我正在使用它自己的SDK函數輪詢父軟件,但這需要打開連接。 根據配置文件的內容,DLL不需要打開連接,因此我想知道在建立通信之前加載了哪個版本。
調用GetModuleFileName
傳遞NULL
作為模塊句柄。 從文檔 :
正在請求路徑的已加載模塊的句柄。 如果此參數為NULL,則GetModuleFileName將檢索當前進程的可執行文件的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.