开发者

Get around 3rd party cyclic dll dependencies?

开发者 https://www.devze.com 2023-03-28 23:02 出处:网络
I am attempting to access text in a TE Edit (from ter32.dll) in a 3rd party application. (first post on this here)I looked through the API and tried to dynamically load the dll in order to access a fu

I am attempting to access text in a TE Edit (from ter32.dll) in a 3rd party application. (first post on this here) I looked through the API and tried to dynamically load the dll in order to access a function. Unfortunately, this (aftermarket rework) of ter开发者_开发知识库32.dll has a load of dependencies. I tried dynamically loading each required dll as needed but ran into a cyclic dependency. ter32.dll requires x. x requires y. y won't load because it requires x. Would I have to statically load these with a delay? I sure hope not as I don't want the overhead/bloat/dependency in my application.

1) what am I missing?

2) is there some way around this?

3) does anybody have any other way of accessing the text in a TE Edit of ter32.dll?


When you load a DLL the loader will load all the dependencies for you. These dependencies are listed in the import tables of each DLL and the loader resolves them. You don't need to do anything.

Therefore I can't understand how you came to the conclusion that you yourself needed to process DLL dependencies. Are you loading this DLL in a non-standard way? Do you need a manifest for WinSxS dependencies, i.e. if the MS C runtime is needed? Is there something else we need to know?

All that said, having this DLL loaded into your process is not likely, in my view, to help much in extracting text from a different process which has its own separate virtual memory. In other words, I am quite confident that your current attempt to extract the text will fail. The way to get around the virtual memory barrier is to run your code in the other process using a hook.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号