[問題] 如何靠視窗的handle取得dll的path?

看板C_and_CPP作者 (全脂鮮乳)時間8年前 (2015/09/11 16:58), 編輯推噓5(506)
留言11則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc++ 問題(Question): 自己寫了一隻程式用FindWindow取得第三方軟體的某視窗HWND, 請問是否有方式靠此hwnd取得此視窗是由那個dll建立的嗎? 能否取得此dll的HMOUDLE或絕對路徑嗎? 補充說明(Supplement): 目前只能用GetWindowThreadProcessID+OpenProcess+GetModuleFileName 來得到執行檔位置,卻無法精確取得dll位置。 觀念不太好,還有請大家幫忙, 如果有疑問還請大家指正。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.56.181 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1441961910.A.C63.html

09/11 19:25, , 1F
寫外掛?
09/11 19:25, 1F

09/11 19:28, , 2F
用字串暴力收尋吧,找到字串就知道是哪個DLL了
09/11 19:28, 2F

09/11 21:29, , 3F
建立視窗一定會Call User32.dll,寫個HOOK監視它吧
09/11 21:29, 3F

09/12 21:54, , 4F
謝謝!但現在是先建視窗,才找DLL,請問HOOK還有用嗎?
09/12 21:54, 4F

09/12 23:11, , 5F
奇怪,用 GetWindowThreadProcessID 應該可以得到 , 是哪
09/12 23:11, 5F

09/12 23:12, , 6F
裡卡住沒辦法精確取得 ? 可以敘述下嗎 ?
09/12 23:12, 6F

09/12 23:15, , 7F
oh 我想我懂你的問題在哪了.. 你要找的是 dll 不是 exe
09/12 23:15, 7F

09/12 23:31, , 8F
我想此DLL一定會一直呼叫GetMessage
09/12 23:31, 8F

09/12 23:33, , 9F
HOOK GetMessage,然後SendMessage給視窗
09/12 23:33, 9F

09/12 23:34, , 10F
就能找出是哪個Dll收了Message
09/12 23:34, 10F

09/13 05:59, , 11F
ok 謝謝 我會去試試看!!
09/13 05:59, 11F
文章代碼(AID): #1LyfUsnZ (C_and_CPP)