我正在尝试访问第三方应用程序中的TE Edit(来自ter32.dll)中的文本。 (在这个here上的第一篇文章)我看穿了API并试图动态加载dll以访问函数。不幸的是,ter32.dll的这个(售后返工)有一些依赖关系。我试图根据需要动态加载每个需要的DLL,但遇到了循环依赖。 ter32.dll需要x。 x需要y。 y不会加载,因为它需要x。我需要延迟静态加载吗?我当然希望不要因为我不想在我的应用程序中使用开销/膨胀/依赖项。解决第三方循环的dll依赖关系?
1)我错过了什么?
2)有没有办法解决这个问题?
3)有没有人有任何其他方式访问ter32.dll的TE编辑文本?
+1问题:如果他有编辑的句柄,他可以使用GetWindowText(确切名称可能不同)吗?他必须已经拥有编辑主窗口的句柄(上一个问题)。你能不知怎的枚举窗口“父”的句柄?如果是这样,并且他有一些方法来确定正确的方法,那么他应该能够通过GetWindowText API获得该方法吗? –
@marjan这个控件不是从EDIT子类化的,并且不会从GetWindowText返回它的内容 –
@david - 首先,谢谢 - 您一直非常耐心,并且对我的其他帖子有很多帮助。我在这里必须缺少一些东西......(这不是我的日常工作!)我尝试动态加载ter32.dll:'dllHandle:= LoadLibrary(pwidechar(DllLocation +'\ ter32.dll'));' x(我忘记了哪个)需要首先加载。所以......我一直迷迷糊糊地在ter32.dll之前动态加载x ......等等。遇到循环依赖。现在...我只是再次尝试,以获取错误的确切文本,并加载DLL。现在尝试一下例程...谢谢! –