gywx 发表于 2009-7-14 13:39:23

为什么没有人回答我的问题

1. 如何判断脚本运行时成功还是失败,说简单一些就是AutoIt脚本运行有无相关的返回值。就算是再健壮的脚本也会因为环境或者其他原因运行失败,我们不可能一直用眼睛盯着屏幕判断这个脚本的运行情况,AutoIt应该是提供了这方面的判断方法吧?首先感谢各位大侠给我的回答,但我还是希望能够得到更进一步,更确切的回答。

原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8171

2.关于foobar的自动化安装,问题如下:
-如何操作控件SysTreeWin32,我想选择Tree中的某几项,但始终不知道如何操作?
-AutoIt有无类似silence的安装方式?如果有,我应该怎么用?也许问题应该是这样,如果静默的安装软件?
-AutoIt中有无办法读取到foobar的播放列表中的信息?我后找到一个方法(ControlGetText),但这个好像并不是对所有的控件有效。

原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8221

3. 关于Skype和Kaspersky的安装问题。这两个软件用的都是非标准的windows控件!应该如何操作这类控件让AutoIt能够完成这类软件安装的自动化。我在论坛看到有人说表态安装,有哪位大侠能给解释一下么?

原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8260

4. 代码段如下:
Local $iPid, $sResult, $sLine

$iPid = Run(@ComSpec & "/c ipconfig C:\","",@SW_HIDE)

While True

      $sLine = StdoutRead($iPid)

      if @error Then ExitLoop

      $sResult &= $sLine

WEnd

MsgBox(0,"",$sResult)
运行后返回的是个空白的消息框,我想得到的是ipconfig运行的返回值,请大家帮忙看看是哪里出了问题。

原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8253&extra=page%3D1

我是一个AutoIt的初学者,碰到了很多问题。上边这些可能是非常简单或者是愚蠢的问题,但我到现在都没有解决。请大家帮帮忙吧...

谢谢了先!

kn007 发表于 2009-7-14 14:03:04

以后自己顶自己的贴,还有第一贴,已经跟你说的很详细了,autoit不是万能的,楼主在这样发帖,扣分

gywx 发表于 2009-7-14 15:20:47

关于第一贴,非常感谢你的回复,也因为这样。我已经将这个帖子的状态改成了以解决。只是后来,我听说有人能够让AutoIt脚本执行后,如果成功返回True,如果失败返回False。所以才接着问了一句。

另外,关于我的其他问题,你能够抽个时间帮我看看如何解决。

谢谢...

rolaka 发表于 2009-7-14 15:49:07

本帖最后由 rolaka 于 2009-7-14 16:14 编辑

1 给谁? 最简单的 学windows写log这种东西没有给出实际操作的设想 没人能搞的说

2
(1) 参见help文档 ControlListView函数这个不行...麻烦了
(2) 最好安装程序提供命令行模式 就像win的补丁那样 一般的安装文件 可以把窗口拉到屏幕之外 然后发送操作的办法或者也可以在运行安装文件的时候 直接@SW_HIDE 接着就用Control系列指令操作 相关函数参见help文档 -> 函数参考 -> 窗口管理 -> Control
(3) 不大能理解
这个 我等下试试看 能给出源码就给
用下面的 就算是@sw_hide都ok的...
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlSend ('foobar2000 v0.9.6.8 Setup', '', '', 'C:\Users\Hyperion\Desktop\foobar2000\')
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)

3. 稍后给源码...orz... 其实可以直接用send指令 发送tab&enter键 具体位置也可以根据控件和窗体左上角坐标来算相对位置来操作滴...
...这个...这个参照上面

4. ...orz...参数没给全...run要附加flag的
help里的例子
示例/演示

; Demonstrates StdoutRead()
#include <Constants.au3>

Local $foo = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:", $line)
Wend

While 1
    $line = StderrRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDERR read:", $line)
Wend

MsgBox(0, "Debug", "Exiting...")

你可以搜论坛里面的ping工具 那些就是最好的例子

gywx 发表于 2009-7-15 13:11:08

4# rolaka

- 我看到你的回复中多次提到orz,这是什么的缩写?
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?
- 真的是非常期待你的关于skype或者是Kaspersky的安装实例程序。想知道具体是如何通过操作(tab&enter)来操作安装程序。

非常感谢你的回复,虽然有些地方好还看的不是很明白。呵呵...

gywx 发表于 2009-7-16 19:58:26

终于找到如何得到AutoIt 脚本或者是应用程序的执行结果了。用staf(http://staf.sourceforge.net/),安装之后。在命令行上输入:
staf local process start shell command autoit-run-notepad.exe wait

你就能在程序运行完成后得到这个脚本的运行结果了。

ceoguang 发表于 2009-7-16 21:55:52

谢谢楼主分享,收藏之

rolaka 发表于 2009-7-18 16:57:14

本帖最后由 rolaka 于 2009-7-18 17:12 编辑

4# rolaka

- 我看到你的回复中多次提到orz,这是什么的缩写?
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?
- 真的是非常期待你的关于skype或者是Kaspersky的安装 ...
gywx 发表于 2009-7-15 13:11 http://www.autoitx.com/images/common/back.gif
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?

..写错了...


- 真的是非常期待你的关于skype或者是Kaspersky的安装 ...

...可以计算控件在窗体里的相对位置...具体的可以搜索或者看help里关于opt的项目


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("窗体1", 243, 99, 302, 218)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$Button1 = GUICtrlCreateButton("点我~", 56, 32, 137, 33, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button1Click")
GUISetState(@SW_SHOW)

Opt('MouseCoordMode', 0)

MouseClick("" , 100, 80)

While 1
        Sleep(100)
WEnd

Func Button1Click()
        MsgBox(0, "", "我被点了下")
EndFunc

Func Form1Close()
        Exit
EndFunc
页: [1]
查看完整版本: 为什么没有人回答我的问题