获取输入框
如何获取第三方软件当前使用界面上的输入框,并自动填写指定的内容?
最好详细说明
[解决办法]
GetForegroundWindow得到当前窗体句柄a,
然后用FindWindow,传入第三方软件的窗体的类名(通过spy++可以看到),调用FindWindow得到第三方软件的窗体的句柄b,
判断a和b是不是一致,不一致就跳过(证明当前窗体不是第三方软件的窗体)。
EnumChildWindows,传入句柄b,在回调函数中依次所有取得控件的句柄,调用GetClassName判断是不是"Edit"或“TEdit”,是的话调用SendMessage发送消息WM_SETTEXT来填入内容!
[解决办法]
当然输入框也不一定就是"Edit"或“TEdit”,用Spy++可以查看其类名!
[解决办法]
下载个spylite24或WindowSPY 2.3,SendMessage 发送就可以楼上解释的和明白。我正在做,抓DBGRID的,没做出来。
[解决办法]
http://topic.csdn.net/t/20060907/16/5006069.html
06年时,清洁工回的我的帖子,里面那段代码你可以用上的。
[解决办法]
抓顶层窗体名称,发现了就激活
[解决办法]
枚举所有窗口,找到输入框。然后发送消息。
当然不是所有第三方输入框都支持这种方法,比如网银密码输入框,QQ登陆时的密码输入框,人家做过额外的处理,就不行。但是枚举窗口,找到输入框,发送消息是首选。这个办法不行的话,再想其它办法。
[解决办法]
EnumChildWindows...
我之前做了一个 填写windows自带的窗体
感觉还可以
不过有些edit不能填写
[解决办法]
有句柄的就行, 没有句柄的就不行。
[解决办法]
看到这么多高手,学习下