您的位置:首页 > 其它

从外部获取一个edit框内数据的几种思路

2008-03-11 23:51 148 查看
整理了一下 主要有这几个

findwindow 查找一个窗口

enumwindow 枚举窗口,通过回调函数,回调函数决定是否继续枚举

enumchildwindow 枚举某窗口的子窗口,比如先findwindow到qq的登录窗体 然后用enumchildwindow查找密码框(实际上 密码框不直接属于登录窗体)

windowfrompoint 获取当前鼠标所在位置的窗口

只要先获取到了窗体,就可以通过getwindowtext或者getdlgitemtext来获取内容

或者直接sendmessage

比如取qq账号,因为qq账号是一个combobox,所以要向combobox发送CB_GETLBTEXT消息,来获取当前的qq帐户

另外 findwindow有两个参数

第一个参数是类名 比如ComboBox,Edit或者#32770,(#32770是mfc的dialog base的类名)

第二个参数是窗体类的title

还有,就是ES_PASSWORD的EDIT控件,想要获取它的Text不能直接通过GetWindowText了,因为win98之后的操作系统,做了限制,不能跨进程调用,一般方法是OpenProcess,然后VirtualAllocEx一些远程进程的内存,然后在这片内存中写入一个函数,WriteProcessMemory,最后是CreateRemoteThread,创建远程线程,这种技术叫做进程注入,一般杀毒软件都会进行对OpenProcess和CreateRemoteThread等函数进行ApiHook进行拦截。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: