我想获取TExceptionNotificationDlg
位于 dbkdebugidexxx.bpl 中的 VMT 条目。
IDE 在启动后不久加载此模块。
我想阻止显示异常报告对话框并替换我自己的显示。
简单的方法是拦截这个窗口的ShowModal
功能。ShowModal 是一个虚函数,因此存储在 VMT 中。
默认情况下,此类的 VMT 包含指向 的链接CustomForm.ShowModal
,因此简单挂钩已失效。我需要修改 VMT。
IDE 在启动时将我的代码加载为 DLL。
如果我只有模块 ( )name
和窗口类 () 的名称,我如何获得 VMT 的地址?HModule
dbkdebugidexxx.bpl
TExceptionNotificationDlg
请注意,此表单仅在显示异常时创建并在之后立即销毁,使用HWnd
获取信息已出(我之前使用创建表单的 HWnd 访问表单的发布信息https://compilerintrinsics.wordpress.com /,但我不能在这里这样做)。