【问题标题】:How can i get the Handle of a Form that are using my DLL?如何获取使用我的 DLL 的表单句柄?
【发布时间】:2013-11-15 07:24:06
【问题描述】:

我得到了一个使用 DLL 的表单。 有办法通过 DLL 获取表单的句柄吗?

类似这样的:

SetWindowText(HandleOfTheForm, 'This Program is using my DLL');

抱歉语法错误。

【问题讨论】:

    标签: delphi delphi-xe2 delphi-7


    【解决方案1】:

    如果没有一些关于它的先验知识,DLL 无法自动发现窗体窗口。表单本身需要告诉 DLL 使用哪个 HWND,例如通过 DLL 导出的函数,或者通过为表单提供 DLL 可以查找的已知/可预测的类名和/或窗口标题,例如通过使用FindWindow()EnumWindows()

    更好的选择是编写 DLL 以公开表单可以分配处理程序的回调,然后让 DLL 在需要时调用它,并让表单决定调用时要做什么。这样,DLL 根本不需要知道任何有关 Form 的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-08
      • 2016-03-04
      • 1970-01-01
      • 2015-02-10
      • 2014-05-22
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多