xymc 发表于 2015-5-21 15:34:36

怎样做一个GUI界面实时回显bat返回

我写了一个aa.bat,运行后不停循环的,想做个GUI界面实晨回显bat返回的结果。
没做过GUI,请教下大家
好像GUI也没什么教程看

FluxayX 发表于 2015-5-21 20:01:54

;-------------------------------------------------------
#include <Constants.au3>
Opt("MustDeclareVars",1)
;----------------------------------------------------------
_test()
Func _test()
Local $foo,$line,$lines
$foo = Run(@ComSpec & " /c ping www.baidu.com", @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$lines = ""
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
    $lines &= $line
Wend
MsgBox(0,"test",$lines)
EndFunc
;-----------------------------------------------------论坛上给你搜的源码,直接截取回显,要善于运用搜索.

xymc 发表于 2015-5-22 16:40:32

回复 2# FluxayX

不是运行一条命令回显,是运行一个bat,不停循环的,实时回显

ator916 发表于 2015-5-25 10:32:13

沒跑代碼...不過我想不斷印出 $line 應該就可以了吧?
使用 GUICtrlSetData 套用下面GUI.

GUI 供你參考:#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 321, 438, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 8, 40, 297, 385)
GUICtrlSetData(-1, "Logs will display here.")
$Label1 = GUICtrlCreateLabel("DOS Display", 8, 8, 100, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Sleep (5000)
GUICtrlSetData($Edit1, "Write your messages." & @CRLF, 1)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEndKoda tool 可用於產生GUI介面:

页: [1]
查看完整版本: 怎样做一个GUI界面实时回显bat返回