/// <summary> /// En este evento, se mandara a ejecutar el netsh para guardar los cambios realizados /// a los listados de DNS , WINS y Gateways que se requieran hacer. /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bt_guardar_Click(object sender, EventArgs e) { ///Hay que validar cuales seran modificados y si es IPv4 o IPv6 (El comando de netshl al parecer cambia) String[] sCol; if (bModificado_dns) { sCol = new String[list_dns.Items.Count]; list_dns.Items.CopyTo(sCol, 0); //Si no es dinamico engase todo lo que tenemos if (!dns_dinamico.Checked) { if (bVersionIP) { nInterfaz.setDNSv4Address(sCol); } else { nInterfaz.setDNSv6Address(sCol); } } /*else if ((nInterfaz.getisDHCPv4Enabled() && bVersionIP) || (nInterfaz.getisDHCPv6Enabled() && !bVersionIP)) * if (bVersionIP) // Version4 o vervsion6? * nInterfaz.setDNSv4Address(); * else * nInterfaz.setDNSv6Address();*/ else { MessageBox.Show("Para poder actualizar de forma dinamica los servidores DNS debe estar habilitado el DHCP"); } } //Se supone que estos campos solo cuando son estaticos dejan qeu se escriban if ((nInterfaz.getisDHCPv4Enabled() && bVersionIP)) //IPv4 { if (bModificado_win) { sCol = new String[list_wins.Items.Count]; list_wins.Items.CopyTo(sCol, 0); nInterfaz.setWINSv4Address(sCol); } if (bModificado_gtw) { //GatewayIPAddressInformation[] Listas = new GatewayIPAddressInformation[list_gtw.Items.Count]; sCol = new String[list_gtw.Items.Count]; list_gtw.Items.CopyTo(sCol, 0); nInterfaz.setGTWv4Address(sCol); } } else if ((nInterfaz.getisDHCPv6Enabled() && !bVersionIP)) //IPv6 { if (bModificado_win && bWINSv6) { sCol = new String[list_wins.Items.Count]; list_wins.Items.CopyTo(sCol, 0); nInterfaz.setWINSv6Address(sCol); } if (bModificado_gtw) { //GatewayIPAddressInformation[] Listas = new GatewayIPAddressInformation[list_gtw.Items.Count]; sCol = new String[list_gtw.Items.Count]; list_gtw.Items.CopyTo(sCol, 0); nInterfaz.SetIPv6Gateways(sCol); } } //y al final... cerramos el formulario ... this.Close(); }