我想用VB写个修改网关的程序。因为学的不是很好。所以来这里求教了。
要求:
一个界面连个按钮。
一个光纤上网、一个宽带上网、一个配置文件(主要放的是网关例如:GuangXian=这里是网关;KuanDai=这里也是网关)。
点击光纤上网的时候本机网关切换到GuangXian
而且如果是第一次运行这个程序会自动创建ip这个配置文件。然后让用户输入网关。
在点击按钮的时候调用!小弟在这谢谢各位大虾了。
最好是把全部源代码发给我。
是在不行可以发给小弟的邮箱
[email protected]

解决方案 »

  1.   

    是不是 GateWay啊???
    用 cmd 的命令可以做到了~~
      

  2.   

    参考:strComputer   =   ". " 
    Set   objWMIService   =   GetObject( "winmgmts:\\ "   &   strComputer   &   "\root\cimv2 ") 
    Set   colNetAdapters   =   objWMIService.ExecQuery   _ 
            ( "Select   *   from   Win32_NetworkAdapterConfiguration   where   IPEnabled=TRUE ") 
    For   Each   objNetAdapter   in   colNetAdapters 
    sip=objNetAdapter.IPAddress 
    strIPAddress   =   sip             '保持原来的ip,如果需要修改ip为192.168.0.200:strIPAddress   =   Array( "192.168.0.200 ") 
    strSubnetMask   =   Array( "255.255.255.0 ") 
    strGateway   =   Array( "192.168.0.254 ")           '修改网关为192.168.0.254 
    strGatewayMetric   =   Array(1)         errEnable   =   objNetAdapter.EnableStatic(strIPAddress,   strSubnetMask) 
            errGateways   =   objNetAdapter.SetGateways(strGateway,   strGatewaymetric) 
            If   errEnable   =   0   Then 
                  msgbox   "The   IP   address   has   been   changed. " 
            Else 
                    msgbox     "The   IP   address   could   not   be   changed. " 
            End   If 
            exit   for             '只修改第一个网卡的设置 
    Next 
      

  3.   

    楼上的代码好像这句有错
    Set   objWMIService   =   GetObject( "winmgmts:\\ "   &   strComputer   &   "\root\cimv2 ") 
      

  4.   

    3L的代码重贴一遍:Private Sub Command1_Click()
        strComputer = "."
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        
        Set colNetAdapters = objWMIService.ExecQuery _
                ("Select   *   from   Win32_NetworkAdapterConfiguration   where   IPEnabled=TRUE ")
        
        
        For Each objNetAdapter In colNetAdapters
            sip = objNetAdapter.IPAddress
            strIPAddress = sip                 '保持原来的ip,如果需要修改ip为192.168.0.200:strIPAddress   =   Array( "192.168.0.200 ")
            strSubnetMask = Array("255.255.255.0 ")
            strGateway = Array("192.168.0.254 ")                '修改网关为192.168.0.254
            strGatewaymetric = Array(1)
        
            errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
            errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
            If errEnable = 0 Then
                  MsgBox "The   IP   address   has   been   changed. "
            Else
                    MsgBox "The   IP   address   could   not   be   changed. "
            End If
            Exit For               '只修改第一个网卡的设置
        Next
    End Sub但是我这里修改是失败了,3L能不能说一下原理哈!!
      

  5.   

    2000也可以,但也要启动wmi的相关服务
      

  6.   

    用了下3樓的
    修改失敗,
    errEnable=66
      

  7.   

    在For Each objNetAdapter In colNetAdapters
    加上判断
        If Not IsNull(objNetAdapter .GatewayCostMetric) Then
           If Not IsNull(objNetAdapter .DefaultIPGateway) Then
    ...........