【发布时间】:2013-11-15 07:24:06
【问题描述】:
我得到了一个使用 DLL 的表单。 有办法通过 DLL 获取表单的句柄吗?
类似这样的:
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
抱歉语法错误。
【问题讨论】:
标签: delphi delphi-xe2 delphi-7
我得到了一个使用 DLL 的表单。 有办法通过 DLL 获取表单的句柄吗?
类似这样的:
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
抱歉语法错误。
【问题讨论】:
标签: delphi delphi-xe2 delphi-7
如果没有一些关于它的先验知识,DLL 无法自动发现窗体窗口。表单本身需要告诉 DLL 使用哪个 HWND,例如通过 DLL 导出的函数,或者通过为表单提供 DLL 可以查找的已知/可预测的类名和/或窗口标题,例如通过使用FindWindow() 或EnumWindows()。
更好的选择是编写 DLL 以公开表单可以分配处理程序的回调,然后让 DLL 在需要时调用它,并让表单决定调用时要做什么。这样,DLL 根本不需要知道任何有关 Form 的信息。
【讨论】: