WinWaitActive问题
本帖最后由 mnday 于 2014-3-29 01:29 编辑小弟写的工具构思:
1,使用系统自带的MSRA工具发起远程协助请求;
2,通过脚本将请求以邮件形势发送给远程协助方;
3,远程协助方通过请求文件连接至发起方;
4,发起方自动点击确定允许远程协助方操作桌面;
问题出在最后一步,使用WinWaitActive语句以后,一定是窗体处于活动状态才会点击“是”,否则就停在此界面,我也尝试使用了winwait,无效。请各位大能帮忙解决。非常感谢!
问题代码:;监控本地窗体,点击按钮允许远程控制
WinWaitNotActive("Windows 远程协助", "是")
ControlClick("Windows 远程协助", "是", "") 回复 1# mnday
可以自己弄个比较“兼容”的函数来代替一些内置的,这样应该会更好用。
比如:Local $sTitle = 'Windows 远程协助'
If _WinWaitActive($sTitle, '是', 5) Then
ControlClick($sTitle, "是", "")
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 问题已解决。加上窗口置顶函数即可。WinWaitActive("Windows 远程协助", "是")
WinSetOnTop("Windows 远程协助", "是", 1)
ControlClick("Windows 远程协助", "是", "")
页:
[1]