none
为什么无法修改IP RRS feed

  • 问题

  • 我想问一下为什么以下这段代码无法修改IP但是却能修改网关的值

      ManagementClass objMC = new ManagementClass( "Win32_NetworkAdapterConfiguration");
                        ManagementObjectCollection objMOC = objMC.GetInstances();


                        foreach (ManagementObject objMO in objMOC)
                        {

                            if (!(bool)objMO["IPEnabled"])
                                continue;
                            try
                            {
                                ManagementBaseObject objNewIP = null;
                                ManagementBaseObject objSetIP = null;
                                ManagementBaseObject objNewGate = null;
                              
                                objNewIP = objMO.GetMethodParameters("EnableStatic");
                                objNewGate = objMO.GetMethodParameters("SetGateways");                   

                                //Set DefaultGateway
                                objNewGate["DefaultIPGateway"] = new string[] { txtGateWay.Text.ToString().Trim()};
                                objNewGate["GatewayCostMetric"] = new int[] {1};


                                //Set IPAddress and Subnet Mask
                                objNewIP["IPAddress"] = new string[] { txtIP.Text.ToString().Trim() };                  

                                objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, null);                          
                                objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, null);                                               
                            }
                              
                            catch (Exception ex)
                            {
                                MessageBox.Show("无法修改 IP : " + ex.Message);
                                return;
                            }

    谢谢:)

    2008年5月22日 7:34

答案

  • 刚查了一下MSDN,EnableStatic带有两个参数,一个IPAdress,一个subnetMask,我只对IPAdress进行操作,没有加上subnetMask,因此导致以上的不能修改,现在好了。

    2008年5月22日 8:15

全部回复

  • 不好意思,刚查了一下MSDN是EnableStatic带有两个参数,一个IPAddress一个 SubnetMask,没有子网掩码的操作,因此导致失败,现在已经好了。

    2008年5月22日 8:12
  • 刚查了一下MSDN,EnableStatic带有两个参数,一个IPAdress,一个subnetMask,我只对IPAdress进行操作,没有加上subnetMask,因此导致以上的不能修改,现在好了。

    2008年5月22日 8:15