我需要帮助来签入脚本

I Need Help To Check A Script In

我在使用 Autoit 中的简单登录 Gui 时遇到问题,我真的不知道为什么它不打印用户名并传递到文本文件

代码如下:

$gui = GuiCreate("Authenticate",120,170)

GUICtrlCreateLabel("Username:",10,10,50,20)
$username = GUICtrlCreateInput("",10,35,100,20)

GUICtrlCreateLabel("Password:",10,70,50,20)
$password = GUICtrlCreateInput("",10,95,100,20,0x0020)

$go = GuiCtrlCreateButton("OK",10,130,50,25)
$cancel = GuiCtrlCreateButton("Cancel",60,130,50,25)

GUISetState()
Do
$msg = GUIGetMsg()

If $msg = $go Then

   FileWrite(@ScriptDir & '\userout.txt', $username)
   FileWrite(@ScriptDir & '\passout.txt', $password)
   Run("confirm.bat", "", @SW_HIDE)

EndIf

If $msg = $cancel Then
Exit
EndIf

Until GUIGetMsg() = $cancel
GuiDelete($gui)

我尝试使用不同的代码行,但找不到问题所在。 预先感谢

您忘记读出控件了。在您的脚本中,您仅获得控件 ID 的值。

$gui = GuiCreate("Authenticate",120,170)

GUICtrlCreateLabel("Username:",10,10,50,20)
$username = GUICtrlCreateInput("",10,35,100,20)

GUICtrlCreateLabel("Password:",10,70,50,20)
$password = GUICtrlCreateInput("",10,95,100,20,0x0020)

$go = GuiCtrlCreateButton("OK",10,130,50,25)
$cancel = GuiCtrlCreateButton("Cancel",60,130,50,25)

GUISetState()
Do
$msg = GUIGetMsg()

If $msg = $go Then

   ; FileWrite(@ScriptDir & '\userout.txt', $username)  ; wrong
   FileWrite(@ScriptDir & '\userout.txt', GUICtrlRead($username))  ; correct
   ; FileWrite(@ScriptDir & '\passout.txt', $password)  ; wrong
   FileWrite(@ScriptDir & '\passout.txt', GUICtrlRead($password))  ; correct
   Run("confirm.bat", "", @SW_HIDE)

EndIf

If $msg = $cancel Then
Exit
EndIf

Until GUIGetMsg() = $cancel
GuiDelete($gui)