找回密码
 加入
搜索
查看: 3650|回复: 2

[GUI管理] WinWaitActive问题

[复制链接]
发表于 2014-3-29 00:52:36 | 显示全部楼层 |阅读模式
本帖最后由 mnday 于 2014-3-29 01:29 编辑

小弟写的工具构思:
1,使用系统自带的MSRA工具发起远程协助请求;
2,通过脚本将请求以邮件形势发送给远程协助方;
3,远程协助方通过请求文件连接至发起方;
4,发起方自动点击确定允许远程协助方操作桌面;

问题出在最后一步,使用WinWaitActive语句以后,一定是窗体处于活动状态才会点击“是”,否则就停在此界面,我也尝试使用了winwait,无效。请各位大能帮忙解决。非常感谢!



问题代码:
;监控本地窗体,点击按钮允许远程控制
WinWaitNotActive("Windows 远程协助", "是")
ControlClick("Windows 远程协助", "是", "[CLASS:Button; INSTANCE:1]")

本帖子中包含更多资源

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

×
发表于 2014-3-29 12:12:02 | 显示全部楼层
回复 1# mnday

可以自己弄个比较“兼容”的函数来代替一些内置的,这样应该会更好用。
比如:
Local $sTitle = 'Windows 远程协助'

If _WinWaitActive($sTitle, '是', 5) Then
    ControlClick($sTitle, "是", "[CLASS:Button; INSTANCE:1]")
Else
        MsgBox(16, 'Err', '激活目标窗口超时!')
EndIf

Func _WinWaitActive($sTitle, $sText = '', $iDiff = 2)
        Local $iTime = TimerInit()
        Do
                Sleep(100)
                If WinActivate($sTitle, $sText) Then Return True
        Until TimerDiff($iTime) > $iDiff*1000
        Return False
EndFunc
 楼主| 发表于 2014-3-29 13:41:00 | 显示全部楼层
问题已解决。加上窗口置顶函数即可。
WinWaitActive("Windows 远程协助", "是")
WinSetOnTop("Windows 远程协助", "是", 1)
ControlClick("Windows 远程协助", "是", "[CLASS:Button; INSTANCE:1]")
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-28 14:19 , Processed in 0.077763 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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