我必须检测我没有源代码的应用程序的组合框何时发生变化。这个想法是把一个事件挂到这个控件上,当事件触发时,获取控件的选定值。我已经用谷歌搜索了,但是当标题文本更改时,我刚刚找到了如何与窗口挂钩(如何挂钩窗口)。我可以获得控件的句柄(FindWindowEx)但是,我不知道如何将事件挂钩到控件,如果有人可以帮助我,请帮助我。
问问题
1809 次
1 回答
1
您可以查看 SendMessage API。DDE 是一种旧的 IPC 方法,但它仍然适用于 .net。
作为一种便宜的简单方法,只需使用 guid + '|' 创建一个表单 + 文本框的句柄作为 Text 属性。当您的应用程序运行时,只需加载表单但不显示它(也将其从任务托盘中隐藏)。
您的其他应用程序可以使用标题中的预定 guid 在第一个应用程序表单上 FindWindowEx,还可以获取表单上文本框的句柄(使用管道字符或其他东西将其与 guid 分开)。
现在只需 SendMessage(WM_SETTEXT) 到文本框 hwnd(给它用户在组合框中选择的值)。如果您在 text_changed 事件上放置一个事件处理程序,它将在您的第一个应用程序中触发。
于 2012-08-14T22:27:20.667 回答