找回密码
 加入
搜索
查看: 1232|回复: 8

请各位高手们看看我这个脚本改如何修改?(已解决)

[复制链接]
发表于 2009-7-30 18:14:52 | 显示全部楼层 |阅读模式
本帖最后由 dashe 于 2009-8-11 15:45 编辑

Dim $serverip, $mask, $getway, $dns, $dns2, $computername, $ipqz, $jihao ;定义变量
$serverip = IniRead("setup.ini", "服务器IP", "IP", "") ;从setup.ini文件中读取输入并赋予给变量serverip,下面同理(同理的只解释1遍哦)
$mask = IniRead("setup.ini", "客户端参数设置", "子网掩码", "")
$getway = IniRead("setup.ini", "客户端参数设置", "网关", "")
$dns = IniRead("setup.ini", "客户端参数设置", "DNS", "")
$dns2 = IniRead("setup.ini", "客户端参数设置", "DNS2", "")
$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")
$jihao = InputBox("输入机器号数","请输入本机的机号", "", "", 10, 10)
If @error = 1 Then
        Exit
        ElseIf $jihao = "" Then
        MsgBox(0 + 16,"提示窗口","请输入本机的机号!!!")
EndIf

我想执行了MsgBox(0 + 16,"提示窗口","请输入本机的机号!!!")这段之后跳转到$jihao = InputBox("输入机器号数","请输入本机的机号", "", "", 10, 10)这段重新再次输入机号,请问该如何写呢,小弟新学习AU3,还希望各位前辈多多指点!!

还有一个问题!~

$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")
$jihao = InputBox("输入机器号数","请输入本机的机号", "", "", 10, 10)

ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit1", $computername & $jihao)
ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit2", $ipqz & "." & $computername);用&来连接两个字符串~
这两段!!其实是这样的,我们网吧的计算机名是3位的,比如3号机,我就设置成003,我这里想调用输入机器号数来填写网维的IP地址和计算机名,但是有个问题。。比如这是3号机,我如果输入3的话,他计算机名就默认给我写填写成3了,就不是003了,但是如果我输入003的话,他在IP最后1位就要填成$ipqz.003了,IP是不能有这种输入的,IP只能输入1位的,请问两个问题如何修改了,参考了很多前辈的资料都没有找到解决方案,,所以只有上论坛求助了,希望各位前辈们指点。。

如果哪没有阐述清楚,请说明一下,我立即修正一下~~我文笔有点差,可能在叙述上有点笼统,请各位多多见谅~~
发表于 2009-7-30 18:54:30 | 显示全部楼层
Dim $serverip, $mask, $getway, $dns, $dns2, $computername, $ipqz, $jihao
$serverip = IniRead("setup.ini", "服务器IP", "IP", "")
$mask = IniRead("setup.ini", "客户端参数设置", "子网掩码", "")
$getway = IniRead("setup.ini", "客户端参数设置", "网关", "")
$dns = IniRead("setup.ini", "客户端参数设置", "DNS", "")
$dns2 = IniRead("setup.ini", "客户端参数设置", "DNS2", "")
$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")

While 1
        $jihao = InputBox("输入机器号数", "请输入本机的机号", "", "", 10, 10)
        If $jihao = "" Then
                MsgBox(0 + 16, "提示窗口", "请输入本机的机号!!!")
        else
                Exitloop
        EndIf
WEnd
发表于 2009-7-30 19:05:15 | 显示全部楼层
本帖最后由 afan 于 2009-7-30 19:19 编辑

第二个问题,你输入得到的  $jihao 只在
ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit1", $computername & $jihao)
里面出现。并没有关联到后一段
ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit2", $ipqz & "." & $computername);
$computername 是读取的 ini 文件,是不是写错了? 应该是 $jihao ? 如果是 $jihao 的话才会如你所说的--
但是如果我输入003的话,他在IP最后1位就要填成$ipqz.003了
$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")
$jihao = InputBox("输入机器号数","请输入本机的机号", "", "", 10, 10)
ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit1", $computername & StringFormat('%03s', $jihao))
ControlSetText("手动设置机器名与IP", "客户机将在重启后处于还原保护状态", "Edit2", $ipqz & "." & $jihao)
发表于 2009-7-30 20:03:35 | 显示全部楼层
学习一下。。
 楼主| 发表于 2009-8-6 15:50:01 | 显示全部楼层
afan 老大!!
Dim $serverip, $mask, $getway, $dns, $dns2, $computername, $ipqz, $jihao
$serverip = IniRead("setup.ini", "服务器IP", "IP", "")
$mask = IniRead("setup.ini", "客户端参数设置", "子网掩码", "")
$getway = IniRead("setup.ini", "客户端参数设置", "网关", "")
$dns = IniRead("setup.ini", "客户端参数设置", "DNS", "")
$dns2 = IniRead("setup.ini", "客户端参数设置", "DNS2", "")
$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")

While 1
        $jihao = InputBox("输入机器号数", "请输入本机的机号", "", "", 10, 10)
        If $jihao = "" Then
                MsgBox(0 + 16, "提示窗口", "请输入本机的机号!!!")
        else
                Exitloop
        EndIf
WEnd

利用了你给我的代码,我点取消按钮,他也不退出,还是提示我输入机号啊,麻烦您帮我看一下是怎么回事?
感谢老大帮我解决问题,在此给您道声谢谢了,,还希望您一如以往的对我进行指导~~
发表于 2009-8-6 16:03:02 | 显示全部楼层
你不是说必须输入吗,呵呵
Dim $serverip, $mask, $getway, $dns, $dns2, $computername, $ipqz, $jihao
$serverip = IniRead("setup.ini", "服务器IP", "IP", "")
$mask = IniRead("setup.ini", "客户端参数设置", "子网掩码", "")
$getway = IniRead("setup.ini", "客户端参数设置", "网关", "")
$dns = IniRead("setup.ini", "客户端参数设置", "DNS", "")
$dns2 = IniRead("setup.ini", "客户端参数设置", "DNS2", "")
$computername = IniRead("setup.ini", "客户端参数设置", "机器名前缀", "")
$ipqz = IniRead("setup.ini", "客户端参数设置", "IP前缀", "")

While 1
        $jihao = InputBox("输入机器号数", "请输入本机的机号", "", "", 10, 10)
        If @Error = 1 then Exitloop
        If $jihao = "" Then
                MsgBox(0 + 16, "提示窗口", "请输入本机的机号!!!")
        else
                Exitloop
        EndIf
WEnd
我也是新手+菜鸟,绝非老大,呵呵
 楼主| 发表于 2009-8-6 22:03:12 | 显示全部楼层
本帖最后由 dashe 于 2009-8-6 22:07 编辑

呵呵,三人行必有我师,您就是我的老师啊,向您学习,还有一个问题要麻烦您指导一下,如果有2张网卡该如何判断呢?我估计不太好写,能不能在程序的前面加一个检测到2张活动网卡的代码,然后弹出消息框提示用户,用户点确定就关闭程序呢,再次感谢您对我的指导,很想于您交个朋友像您学习autoit3,您QQ是多少,能否用站内短消息传给我呢,向您学习~~~
发表于 2009-8-6 22:50:23 | 显示全部楼层
7# dashe

你可以参考一下这段代码,我这是单网卡,没法研究,呵呵
Func _GetNetWork()
        Local $wbemFlagReturnImmediately, $wbemFlagForwardOnly, $network, $strComputer, $objWMIService, $colItems
        $wbemFlagReturnImmediately = 0x10
        $wbemFlagForwardOnly = 0x20
        $network = ""
        $strComputer = "localhost"
        $objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")
        $colItems = $objWMIService.ExecQuery("SELECT *  FROM Win32_NetworkAdapter where NetConnectionStatus =2", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
        ;NetConnectionStatus =2 获取系统中所有活动网卡
        ;NetConnectionStatus >0 获取系统中的除了禁用之外的网卡(即拔了网线的网卡和活动中的网卡)
        If IsObj($colItems) Then
                For $objItem In $colItems
                        $network = $network & $objItem.Name & @CRLF
                Next
        EndIf
        Return $network
EndFunc   ;==>_GetNetWork
MsgBox(0, "活动网卡", _GetNetwork())
 楼主| 发表于 2009-8-11 15:18:31 | 显示全部楼层
本帖最后由 dashe 于 2009-8-11 15:44 编辑

算了,我还是重新开帖吧。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-2 23:01 , Processed in 0.079235 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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