找回密码
 加入
搜索
查看: 1482|回复: 2

关于StdinWrite()函数的问题

[复制链接]
发表于 2009-5-25 19:00:18 | 显示全部楼层 |阅读模式
本帖最后由 neity 于 2009-5-25 19:10 编辑

代码如下:
#include <GuiConstants.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>

Dim $out

$foo = Run(@ComSpec & " /c DiskPart.exe", "", @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
If @error Then
    MsgBox(16, "Error", "diskpart.exe not run")
    Exit
EndIf

StdinWrite($foo, "list disk")
StdinWrite($foo)

While 1
    $out &= StdoutRead($foo)
    If @error Then ExitLoop
WEnd
   
$var = StringRegExp($out, "\d*.GB", 3)
;_ArrayDisplay($var)

$hGui = GuiCreate("Test", 300, 200)

$diskLabel = GUICtrlCreateLabel("Selected size: 0", 70, 30, 120, 17)

$diskSlider = GUICtrlCreateSlider(30, 50, 220, 30)
GUICtrlSetLimit(-1, $var[0])

$selButton = GUICtrlCreateButton("Select", 20, 150, 50, 25)

GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL")

GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
        ExitLoop
    Case $selButton
        MsgBox(64, "Message", "Selected " & GUICtrlRead($diskSlider) & " GB")
    EndSwitch
WEnd

Func WM_HVSCROLL($hWnd, $Msg, $wParam, $lParam)
   
    Switch $LParam
    Case GUICtrlGetHandle($diskSlider)
        GUICtrlSetData($diskLabel, "Selected size: " & GUICtrlRead($diskSlider) & " GB")
    EndSwitch
   
    Return $GUI_RUNDEFMSG
EndFunc

执行以后,stdinwrite()不工作。请高手解答,谢谢!
发表于 2010-7-19 11:26:45 | 显示全部楼层
同问,我最近也要用到这方面的事情.
发表于 2010-7-19 15:18:52 | 显示全部楼层
好像是要编译后才生效~~~好像只是好像。。。
   我也想知道答案~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 14:50 , Processed in 0.074045 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表