pandy05 发表于 2012-3-1 17:19:21

WinWaitActive在win7下不能用???

代码如下,为什么最近我写的都不能用呢,其中一例:安装搜狗品应输入法sogou_pinyin_61d版本的,无论是用controlclick还是send都一点反应没有,请高人指点TrayTip("提示","开始安装搜狗拼音输入法!",10,1)
If Not IsAdmin() Then
    Runas("administrator",@ComputerName,"1234567",0,"D:\software\NEW PC\sogou_pinyin_61d.exe")
Else
        Run("D:\software\sogou_pinyin_61d.exe")
EndIf
Sleep(5000)
BlockInput(1)
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","欢迎使用“搜狗拼音输入法 6.1正式版”")
ControlClick("搜狗拼音输入法 6.1正式版 安装","欢迎使用“搜狗拼音输入法 6.1正式版”","Button2")
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","在安装“搜狗拼音输入法 6.1正式版”之前,请阅读授权协议。")
send("!i")
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","选择“搜狗拼音输入法 6.1正式版”的安装文件夹。")
send("!n")
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","选择“开始菜单”文件夹,用于程序的快捷方式。")
send("!n")
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","选择是否安装附加软件搜狗浏览器。")
ControlClick("搜狗拼音输入法 6.1正式版 安装","选择是否安装附加软件搜狗浏览器","Button4")
send("!i")
WinWaitActive("搜狗拼音输入法 6.1正式版 安装","安装完毕")
ControlClick("搜狗拼音输入法 6.1正式版 安装","安装完毕","Button4")
ControlClick("搜狗拼音输入法 6.1正式版 安装","安装完毕","Button5")
ControlClick("搜狗拼音输入法 6.1正式版 安装","安装完毕","Button7")
send("!f")

BlockInput(0)
TrayTip("提示","搜狗拼音输入法安装完毕!",10,1)
Sleep(10000)

魔导 发表于 2012-3-1 19:34:56

是用XP写了码后转出来的EXE在WIN7不能用码?
如果在XP能用的话建议用源码在WIN7下转一次EXE
以前我也遇到过类似问题   就直接转两次    一次在   WIN7   一次   在XP   {:1_498:}

pp648852 发表于 2012-3-1 19:42:56

WinWaitActive这个函数用的也太多了点,我一般只用一次!
那个函数用一次就够了,再用一次,程序就自动暂停!所以就不会继续了!

jtw 发表于 2012-3-2 09:22:01

我的操作系统一直用win7的,没有发生类似的问题

pandy05 发表于 2012-3-2 10:35:32

回复 2# 魔导


    都是在win7下写的啊

pandy05 发表于 2012-3-2 10:36:17

回复 3# pp648852


那要实现 这样的自动化安装 ,还可以用什么函数呢?本人菜鸟一个,请赐教

魔导 发表于 2012-3-2 12:56:48

回复 5# pandy05


    在哪写都没事,就是要在WIN7转成EXE

zldfsz 发表于 2012-3-2 15:18:58

回复pp648852


那要实现 这样的自动化安装 ,还可以用什么函数呢?本人菜鸟一个,请赐教
pandy05 发表于 2012-3-2 10:36 http://www.autoitx.com/images/common/back.gif


    建议WinWait、ControlClick和ControlSend配合使用,会达到比较好的效果

魔导 发表于 2012-3-3 01:29:50

还没解决吗?
直接用   调整窗口,鼠标点击,找色    来做吧   做好了在生命机器上都能用{:1_605:}

pandy05 发表于 2012-3-3 09:23:54

回复 10# 魔导


    这个……这个不太会。。。。

魔导 发表于 2012-3-3 21:33:21

鼠标点击 (循环的)
出现你指定的颜色就 结束循环
进行下一个步骤

Do                                    
..........   
Until   
MouseClick("",432+$Ax,230+$Ay,12)
ControlMove("HAO1","","",$Ax,$Ay)
;还有一个调整窗口大小的我忘了你看看帮助里面

魔导 发表于 2012-3-3 21:34:54

脚本就是这四个码了
配合使用能实现很多自动化操作
不过提醒一下    这是体力活    建议学点技术

Ycxw2008 发表于 2012-3-4 19:09:23

问题应该在send上面

Ycxw2008 发表于 2012-3-4 19:50:18

本帖最后由 Ycxw2008 于 2012-3-4 19:51 编辑

Local $Title='搜狗拼音输入法 6.1正式版 安装'

_Send($Title,'欢迎使用“搜狗拼音输入法 6.1正式版”',"Button2","!n")
_Send($Title,'许可证协议',"Button1","!i")
If winExists($Title,'选择“搜狗拼音输入法 6.1正式版”的安装文件夹。') Then
        MsgBox(0,"","到选择目录了")
        Exit
EndIf

Func _Send($Title="",$Text="",$Control="",$Key="")
        If WinExists($Title,$Text) Then
       If ControlSend($Title,$Text,$Control,$Key) Then Return 1
       EndIf
EndFunc试试这样有反应吗

pandy05 发表于 2012-3-5 17:27:16

回复 14# Ycxw2008


    呵呵,和我那个一样的,非要兼容模式才行,唉,WIN7……悲催啊
页: [1] 2
查看完整版本: WinWaitActive在win7下不能用???