pc 上有一个数据 3 分钟更新一次,我收到更新后把数据发送到指定的微信群. 写的类似按键精灵的玩意儿,功能基本都写好且能运行起来,但微信的窗口并不是每次都显示在最前端. 我操作的过程大概如下:
... // 获取当前活动窗口句柄和鼠标位置
ShowWindow(微信窗口句柄,SW_SHOW); //显示微信窗口,用在最小化系统托盘时唤醒
SetWindowPos(SW_TOPMOST...); //最前端显示
SetForegroundWindow(微信窗口句柄) //让微信窗口获取焦点
... //一些模拟按键和鼠标点击操作
ShowWindow(微信窗口句柄,SW_HIDE); //隐藏微信窗口
...//还原老的活动窗口和鼠标位置
我自己运行时丝般润滑,交接班换另一个人登录微信,问题就会出现.表现为微信窗口并没有显示出来,只看到鼠标在乱点(模拟操作),最后出现一个微信的提示框(忽略所有消息,就是当有微信消息时右击时的提示).在模拟操作中已经加过一些 sleep,防止窗口来不及刷新.但就是想不明白为什么窗口显示不出来?系统为 windows 7 32bit
1
sunyang 2016-09-30 20:36:20 +08:00 via iPhone
你干嘛不用按键精灵啊 直接后台绑定窗口
|
2
crab 2016-09-30 20:45:13 +08:00
窗口没显示出来应该要循环这个操作吧,你这边少判断了啊,直接去模拟鼠标了。
另外怎么不直接用微信的 web 的协议呢。 |
3
abelyao 2016-09-30 20:54:10 +08:00
曾写过一个自动挂 Q 加自动聊天的工具… 一个电脑挂 4 个 Q 互相聊天…
一点小技巧:快捷键比鼠标点击好用,例如 ctrl + alt + w |
4
siknet 2016-09-30 21:17:51 +08:00
直接热键激活窗口不行?
|
8
magicjerry 2016-12-20 23:30:32 +08:00
@cfans1993
请问你是如何通过 Windows API 打开指定单个微信好友窗口的?否则可以交流一下心得? |
9
cfans1993 OP @magicjerry 没有调用专门的 api 。我刚开始是用获取桌面图像缓冲区,取关键像素作匹配的方法来搜索指定聊天群。因为群图像会改变加上位置有时候太靠后,后来就直接顶置聊天群。可以去翻翻 github,好像有 python 版本直接调用微信 api 的
|
10
cfans1993 OP |
11
sdlearn 2017-07-29 15:08:52 +08:00
楼主怎么获取窗口句柄的,我主窗口局部可以获取到,里面的子窗口句柄貌似获取不到呢
|
12
cfans1993 OP @sdlearn 用 windows 系统 api 没折腾成功,总会出现异常
最后用了别人的 python 版微信机器人,挺好用的,地址如下: https://github.com/littlecodersh/itchat |