如何将事件挂钩到其他应用程序中的Windows控件
我必须检测来自我没有源代码的应用程序的combobox何时发生了变化。 我们的想法是将事件挂钩到此控件,并在事件触发时获取控件的选定值。 我已经google了,但我刚刚找到了如何挂钩窗口( 如何挂钩窗口 ),当标题文本更改时。 我可以得到控件的句柄(FindWindowEx)但是,我不知道如何将事件挂钩到控件,请大家,如果有人可以帮我这个。
您可以查看SendMessage API。 DDE是一种旧的IPC方法,但它仍然适用于.net。
作为一种便宜的简单方法,只需创建一个带有guid +’|’的表单 +文本框的句柄作为Text属性。 当您的应用运行时,只需加载表单但不显示它(也将其从任务托盘中隐藏)。
你的另一个应用程序可以使用标题中的预定guid在第一个应用程序表单上使用FindWindowEx,并获取表单上文本框的句柄(使用管道char或其他东西从guid中分离)。
现在只需SendMessage(WM_SETTEXT)到文本框hwnd(给它用户在combobox中选择的值)。 如果你在text_changed事件上放置一个事件处理程序,它将在你的第一个应用程序中触发。
上述就是C#学习教程:如何将事件挂钩到其他应用程序中的Windows控件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/991906.html