假设有一个应用程序使用CreateWindow
/ CreateWindowEx
的自定义类名,与button
edit
等不同。我希望能够找到这个控件,所以我可以使用SendMessage
向他们发送消息。我试图使用FindWindowEx
但是找不到它们。 (它只是返回,根本没有找到任何控制)。我怎样才能找到这种类型的自定义控件?我正在考虑使用GetDlgItem
进行强制攻击,但我认为它不会很好用。所以我想这里唯一可行的方法是在目标进程中注入dll,挂钩CreateWindow
/ CreateWindowEx
来找到那些控件IDC,这样我以后可以将它们写下来,并与{{1}一起使用}?有没有更简单的解决方案?我已经使用win sdk(GetDlgItem
)中的工具尝试了MSAA和UI Automatiation。我想要自动化的窗口基本上是带有Inspector
的firefox popup模式对话框。此处运行MozillaDialogClass
的此窗口的屏幕截图:link
编辑:
基本上问题是:MSAA / UI自动化组件无法在上面显示的对话框中找到控件。我试过两个,也试过spy ++它也找不到按钮,文本框,复选框里面的对话框。这就是为什么我试图使用普通的winapi Inspector
+ FindWindow
找到它们。但同样,没有成功!