请教:如何获取另一个进程里面的窗口里的控件句柄?
bsk 2005-03-02 11:11:57 获取当前激活的窗口里面的编辑控件句柄的方法:
HWND hWnd = ::GetForegroundWindow();
if ( hWnd!=NULL ){
CString strCtrl = CString("Edit");
HWND hChildEdit = ::FindWindowEx(hWnd,NULL,strCtrl,"");
}
hChildEdit就是我想要得到的编辑控件句柄
问题是,经过测试,这种方法并不能获取所有类型的当前激活窗口里面的控件句柄。
如果当前激活的程序是VC开发的,那没问题,但测了Delphi开发的程序,却无法正确得到所要的句柄。
用Spy++获取Delphi开发的程序的编辑控件的类名是“TEdit”,换掉“Edit”也不行
还有一个不知道用什么开发工具开发的程序的编辑控件类名是“RichEdit20W”,同样也无法获取句柄
哪位高手知道怎么处理?帮帮忙呀,给我一个通用的获取当前激活窗口的子控件句柄的方法吧!