【发布时间】:2010-12-15 03:22:33
【问题描述】:
我们正在为现有的 VB6 应用程序(通过 COM 互操作)编写插件,并且我们需要一些他们不支持的功能。如果我们能够以某种方式接收特定控件在其窗口上的文本更改时的事件,我们就可以轻松获得所需的功能。
我们已经可以使用 FindWindow 获取控件的现有窗口句柄并使用 GetWindowText 获取文本。
当窗口上的文本发生更改时,是否有任何非托管/pinvoke 方法来接收事件?
我们不想使用 while 循环进行轮询 - 我们可能希望将来在他们的几个控件上执行此操作。
PS - 我知道有一些方法可以拦截 p/invoke 调用(谷歌 EasyHook),但我们不想拦截对 SetWindowText 的每个调用。我们只想为一个控件接收它,而使用 EasyHook 之类的东西可能会增加不必要的复杂性。
【问题讨论】: