找回密码
 加入
搜索
查看: 8052|回复: 22

关于QQ文件自动接收

  [复制链接]
发表于 2009-8-14 09:45:14 | 显示全部楼层 |阅读模式
本帖最后由 a000000 于 2009-8-14 12:30 编辑

电脑的报价每天都更新,每天必须守在电脑前,请各位高手支招,任何才能自动点击接收?(安全问题不管,只要能自动点接收就好了,别的问题统统不管)网上的软件全需要注册,请问高手能不能用au3实现?

如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-8-14 10:51:36 | 显示全部楼层
自己顶,请大侠指点啊
 楼主| 发表于 2009-8-14 10:59:09 | 显示全部楼层
无法逾越的障碍?
发表于 2009-8-14 11:02:05 | 显示全部楼层
这个,难道不能用QQ邮箱?
 楼主| 发表于 2009-8-14 11:07:37 | 显示全部楼层
回楼上,咱说了不管用啊,你也看见了,他们都直接发QQ文件,人多了,咱说也米用
 楼主| 发表于 2009-8-14 11:08:04 | 显示全部楼层
他们好像用的群发器
 楼主| 发表于 2009-8-14 11:08:47 | 显示全部楼层
每天接受几十个报价
累啊
发表于 2009-8-14 11:50:07 | 显示全部楼层
2008版QQ测试成功~
$bt = WinGetTitle('与 ','接收')
ControlClick($bt, '接收', 'Static47')
 楼主| 发表于 2009-8-14 11:56:11 | 显示全部楼层
试验了一下,好像不自动接受
发表于 2009-8-14 12:03:05 | 显示全部楼层
本帖最后由 afan 于 2009-8-14 12:04 编辑

需要已经是交谈窗口,如果这个窗口还没打开那肯定不行,你可以QQ设置自动弹出聊天窗口。另外 2009版QQ不行
 楼主| 发表于 2009-8-14 12:05:20 | 显示全部楼层
2008版QQ测试成功~$bt = WinGetTitle('与 ','接收')
ControlClick($bt, '接收', 'Static47')
afan 发表于 2009-8-14 11:50



这个Static47是个变量啊,我这边是46,如果同时发两个文件就是46跟48了
发表于 2009-8-14 12:12:49 | 显示全部楼层
这个你再调整一下吧,核对按钮的文字
发表于 2009-8-14 12:22:59 | 显示全部楼层
$bt = WinGetTitle('与 ','接收')
ControlClick($bt, '接收', '[CLASS:Static; TEXT:接收]')

评分

参与人数 1金钱 +2 贡献 +2 收起 理由
a000000 + 2 + 2

查看全部评分

 楼主| 发表于 2009-8-14 12:30:25 | 显示全部楼层
ok,谢了,楼上,最终代码完整如下:

While 1

$bt = WinGetTitle('与 ','接收')

ControlClick($bt, '接收', '[CLASS:Static; TEXT:接收]')

Sleep(1000)

WEnd
发表于 2009-8-14 17:43:45 | 显示全部楼层
QQ2009版本自动接收文件

思路:
1.监视托盘图标文字,当企鹅图标变成对方头像就会title变空

2.由于QQ2009特殊控件问题,只能以相对坐标模拟点击方式自动接收文件

注意:每个人的窗口‘接收‘坐标不一定一致,根据自己情况再修改
MouseClick("left", $size[0]+421, $size[1]+164, 1)中的X:421 Y:164
3.经过检测是可行的,但有些细节未处理
例如接收完自动winclose窗口...
#Include <GuiToolBar.au3>
#include <winapi.au3>
Local $iProcessID
While 1
Sleep(2000)
If _SysTray_ClickItem("", "left", 2)=1 Then
MsgBox(0,0,0)
$pid=ProcessExists("QQ.exe")
Sleep(1000) 
$wlis=WinList()
for $i=1 to $wlis[0][0]
if $wlis[$i][0]<> "" AND IsVisible($wlis[$i][1]) then
_WinAPI_GetWindowThreadProcessId($wlis[$i][1], $iProcessID) 
If not StringCompare($iProcessID,$pid) AND not StringInStr($wlis[$i][0], "QQ")then 
WinActivate($wlis[$i][0])
$size = WinGetPos($wlis[$i][0])
MouseClick("left", $size[0]+421, $size[1]+164, 1)
EndIf
EndIf
Next
EndIf
WEnd


Func _SysTray_ClickItem($iTitle, $iButton = "left", $iClick = 2)
Local $hToolbar, $iButCount, $aRect, $i
$hToolbar = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
$iButCount = _GUICtrlToolbar_ButtonCount($hToolbar)
For $i = 0 To $iButCount - 1
$cID = _GUICtrlToolbar_IndexToCommand($hToolBar, $i)
If _GUICtrlToolbar_GetButtonText($hToolBar, $i)='' Then
MsgBox(0,0,'1')
$aRect = _GUICtrlToolbar_GetButtonRect($hToolBar, $i)
ControlClick("[Class:Shell_TrayWnd]", "", "ToolbarWindow321", $iButton, $iClick, $aRect[0], 5)
$aRect = 0
Return 1
Else 
EndIf
Next
EndFunc

Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then 
Return 1
Else
Return 0
EndIf
EndFunc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +3 贡献 +3 收起 理由
afan + 3 + 3

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-29 00:34 , Processed in 0.079392 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表