gywx 发表于 2009-7-8 14:59:50

foobar安装若干问(附代码)

本帖最后由 gywx 于 2009-7-8 15:08 编辑


#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.0.0
Author:         myName

Script Function:
        Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

Opt("TrayIconDebug", 1)

$Title = "foobar2000 v0.9.6.8 Setup"

if WinExists($Title) Then
        MsgBox(4096+16,"警告","程序已在运行,请不要重复运行!!!",5)
        Exit
Else
        Run("foobar2000_0.9.6.8.exe")
EndIf

WinActivate($Title, "Welcome to the foobar2000 Setup")
Sleep(600)
ControlClick($Title, "Welcome to the foobar2000 Setup", "")
Sleep(600)
WinActivate($Title,"License Agreement")
ControlClick($Title,"License Agreement","")
Sleep(600)
WinActivate($Title,"Choose Install Type")
ControlClick($Title,"Choose Install Type","")
Sleep(600)
ControlClick($Title,"Choose Install Type","")
Sleep(600)
WinActivate($Title,"Choose Install Location")
ControlSetText($Title,"Choose Install Location","Edit1","C:\Program Files\foobar2000")
ControlClick($Title,"Choose Install Location","")
Sleep(600)
WinActivate($Title,"Choose Components")
ControlCommand($Title,"Choose Components","ComboBox1","SelectString","Full")
Sleep(600)

;ControlTreeView(
; How to handle the SysTreeWin32
;ControlCommand($Title,"Choose Install Location","ComboBox1","SetCurrentSelection", 2)


ControlClick($Title,"Choose Components","")
Sleep(600)
;Sleep(6000)
While not WinActivate($Title,"Completing the foobar2000 Setup")
        Sleep(10)
WEnd

;WinActivate($Title,"Completing the foobar2000 Setup")
;ControlCommand($Title,"Completing the foobar2000 Setup","Button4","UnCheck")



ControlClick($Title,"Completing the foobar2000 Setup","")
While not WinActivate("foobar2000 v0.9.6.8")
        Sleep(10)
WEnd

;Sleep(60)
If WinExists("foobar2000 v0.9.6.8") Then
        WinClose("foobar2000 v0.9.6.8")
EndIf
------------------------------------------------------------------------------------------------------------
1. 如何操作控件SysTreeWin32,我想选择Tree中的某几项,但始终不知道如何操作?
2. 如何在CMD环境下运行脚本,以及如何在CMD环境下运行编译生成的exe文件。目前我的操作是在CMD中直接运行生成的exe,没有输出,右下脚托盘里只有一个autoit的图标。不知道现在是那里有问题?
3. AutoIt有无类似silence的安装方式?如果有,我应该怎么用?
4. AutoIt中有无办法读取到foobar的播放列表中的信息,或者是类似机器的配置信息。我想在使用中对它进行判断和修改。

谢谢

gywx 发表于 2009-7-8 17:17:16

4. 我找到一个方法ControlGetText
ControlGetText("title", "text", controlID)
简单的实验如下:
保存字符串"autoit"到a.txt
Run("notepad.exe a.txt")
WinActivate("CLASS:Notepad]")
$var = ControlGetText("", "", "Edit1")
Sleep(600)
MsgBox(0, $var, $var)

运行脚本好多次,弹出的对话框上都是空的。不知道为什么?然后编译成exe运行了一把,结果出来了,按照预想的对话框的标题和内容都是autoit。 很是不解。不知道为什么直接运行脚本不正常,编译后反而正常了。

我在脚本的头部加上了Opt("TrayIconDebug",1),运行时,把鼠标挪到右下角的托盘的autoit图标上,显示是Msgbox那行。貌似也没有什么作用。敢问各位大虾都是如何调试脚本的。

谢谢...

gywx 发表于 2009-7-8 17:42:24

2.不好意思,我是忘记把foobar的安装程序和exe放到相同目录下了。猪了一把。所以才出现上述运行程序后没有反应,在右下角托盘中有个autoit图标的情况。不好意思。
现在将foobar的安装程序和脚本编译生成的exe文件放到一起,在cmd下直接输入exe文件的全名就OK了。呵呵...

gywx 发表于 2009-7-9 17:55:53

自己顶一下。还请各位路过的大虾帮忙啊...
页: [1]
查看完整版本: foobar安装若干问(附代码)