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

在au3中使用telnet 的问题

[复制链接]
发表于 2009-2-18 13:24:42 | 显示全部楼层 |阅读模式
我有一个ulinix 系统  我重启它的时候一般都用cmd 然后进telnet  进入后重启  ,每次这个很麻烦
而且有些人不会,我想做一个程序 ·在程序里面写上用户名字和密码 ,有两个按钮 一个重启,一个关机,  来控制服务器。我自己写了个 ·实现不了·
我这个是用自动输入完成的,但是无法自动获得文本框里面的数据,send 输入不出来
那位大哥给帮个忙 看下·怎么解决 或者用其他的办法

#include <ButtonConstants.au3>
_Main()

Func _Main()
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Administrator\桌面\工作\VND\Form1.kxf
$Form1 = GUICreate("VN服务器重启工具 安信", 280, 190, 192, 124)
$Label1 = GUICtrlCreateLabel("用户名", 32, 24, 52, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("密码", 40, 64, 36, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$text1 = GUICtrlCreateInput("", 112, 24, 121, 21)
$text2 = GUICtrlCreateInput("", 112, 64, 121, 21)
$Button1 = GUICtrlCreateButton("重启", 144, 120, 89, 25, 0)
$Button2 = GUICtrlCreateButton("关机", 40, 120, 81, 25, 0)
$Label3 = GUICtrlCreateLabel("", 88, 160, 103, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xFFFFE1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
               
                $msg = GUIGetMsg()

                Select

                        
                        Case $msg = $GUI_EVENT_CLOSE
                                
                                GUIDelete()
                                
                                Exit
                                
                        Case $msg = $Button1
                 ShellExecute ("cmd.exe","c:\windows\system32\")
                 Sleep (3000)
                                 WinActivate ("c:\windows\system32\")
                                 send ("telnet 192.168.1.246")
                 send ("{ENTER}")
                                 Sleep (3000)
                 send ($text1)
                 send ("{ENTER}")
                 Sleep (3000)
                 send ($text2)
                                 send ("{ENTER}")
                 Sleep (3000)
                 send ("init 6")
                 Sleep (2000)
                                 send ("{ENTER}")
                 WinClose ( "Telnet 192.168.1.246")
                 msgbox (0,"安信提示","成功重启服务器三秒自动关闭",3)
                                 
                        Case $msg = $Button2
                 ShellExecute ("cmd.exe","c:\windows\system32\")
                 Sleep (3000)
                                 WinActivate ("c:\windows\system32\")
                                 send ("telnet 192.168.1.246")
                 send ("{ENTER}")
                                 Sleep (3000)
                 send ($text1)
                 send ("{ENTER}")
                 Sleep (3000)
                 send ($text2)
                                 send ("{ENTER}")
                 Sleep (3000)
                 send ("init 0")
                 Sleep (2000)
                                 send ("{ENTER}")
                 WinClose ( "Telnet 192.168.1.246")
                 msgbox (0,"安信提示","成功关闭服务器三秒自动关闭",3)

                EndSelect

        WEnd
EndFunc   ;==>_Main
 楼主| 发表于 2009-2-18 18:11:18 | 显示全部楼层
大哥哥们谁给帮个忙啊`
发表于 2009-2-18 23:51:16 | 显示全部楼层
你要用到的是StdoutRead, StderrRead, StdinWrite几个函数,Send是不能跟命令行窗口互交的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 14:10 , Processed in 0.091388 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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