首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么操作其他进程的窗口

2013-09-11 
如何操作其他进程的窗口?弱菜感觉很难描述问题的实质,因为是弱菜嘛(笑)于是先描述一下一个具体的情景吧~情

如何操作其他进程的窗口?
弱菜感觉很难描述问题的实质,因为是弱菜嘛(笑)
于是先描述一下一个具体的情景吧~

情景:弱菜A有多个QQ帐号和163帐号,但不想一个一个手动输入进去登录,它想自己写一个程序,实现自动输入帐号密码并登录的操作,并在登录之后马上注销换另一个帐号。

我的问题就是要解决上面的情景:自己写的进程如何操作其他进程的窗口的具体某一个位置的输入和输出?

谢谢各位高手,弱菜刚会爬,还望高手们不吝赐教!
VC
[解决办法]
FindWindow;SendMessage;win7下可能不好用,需向目标程序注入线程
[解决办法]
用SPY工具和FindWindow函数获取窗口句柄,SendMessage()组合使用
[解决办法]
没用的。对QQ来说,FindWindow已经不灵了。
[解决办法]
用按键精灵比较省事,通过屏幕取色判断输入位置。否则你需要写个驱动,去过掉qq的一些拦截。比如它有可能屏蔽了sendmessage之类的api函数
[解决办法]
方法有多种

一种是:
反汇编,找到登录、注销CALL,直接调用登录。
这种需要将自己的DLL弄进QQ进程里,手段就比较多了,百度一下即可。

另外一种:
1.在程序中运行QQ程序。
2.找到QQ窗口,计算得到相对的用户名框位置,鼠标点过去(mouse_event),然后模拟键盘输入(有两种,一种是keybd_event,一种是驱动级的WinIO,百度WinIO)。
3.同2输入密码,点击登录按钮(或模拟回车)。
4.同2,模拟鼠标点击菜单或其他(快捷键)注销帐号。

热点排行