簡體   English   中英

如何在DLL中找到哪個進程加載呢?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM