【发布时间】:2010-11-03 22:27:21
【问题描述】:
我正在尝试编写一个工具来检查基于 PowerBuilder 的应用程序的状态。我在想的是像 Spy++(或者,更好的是,存在于 .NET 应用程序中的“Snoop”)之类的东西,它可以让我检查一些基于 PowerBuilder 的 GUI 的对象树(和对象的属性)。
我已经为普通(基于 MFC)的应用程序和 .NET 应用程序做了同样的事情,但不幸的是我自己从未在 PowerBuilder 中开发过应用程序,所以我现在通常在考虑两个问题:
是否有一些 API(最好是 Java 或 C/C++)可以让人们遍历 PowerBuilder 应用程序的可视对象树?我在 PowerBuilder Native Interface system 上阅读了一些内容,但似乎这是用 C/C++ 编写 PowerBuilder 扩展,然后可以从 PowerBuilder 脚本语言调用,对吧?
如果有一些 API 可用 - 也许 PowerBuilder 应用程序甚至公开了某种支持 IPC 的 API,它允许我检查 PowerBuilder 对象层次结构的状态,而无需处于 PowerBuilder 应用程序的进程中?也许有可用的自动化接口,或者基于 COM 的接口 - 或者别的什么?
现在,我的印象是可能需要将 DLL 注入 PowerBuilder 应用程序的进程,然后访问正在运行的 PowerBuilder VM,以便我可以查询它以获取对象树。然后,某种 IPC 机制将让我将这些信息传输到 PowerBuilder 应用程序的进程之外。
有没有人有这方面的经验,或者可以阐明是否有人已经尝试过这样做?
最好的问候,
- 弗里希
【问题讨论】:
标签: introspection powerbuilder code-injection spy++