/* Lists connected networks by profile */ public List <string> NetworksByProfileList(NET_FW_PROFILE_TYPE2_ profile, NetworkConnectivityLevels level = NetworkConnectivityLevels.All) { List <string> networks = new List <string>(); NetworkCategory profileName = NetworkCategory.Public; switch (profile) { case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN: profileName = NetworkCategory.Authenticated; break; case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE: profileName = NetworkCategory.Private; break; case NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC: profileName = NetworkCategory.Public; break; } //Install-Package WindowsAPICodePack-Core NetworkCollection nCollection = NetworkListManager.GetNetworks(level); foreach (Network net in nCollection) { if (net.Category == profileName) { networks.Add(net.Name); } } return(networks); }
public bool NLMAPICheck() { INetworkListManager networkListManager = new NetworkListManager(); return(networkListManager.IsConnectedToInternet); //return false; }
static void Main(string[] args) { // check the internet connection state bool isInternetConnected = NetworkListManager.IsConnectedToInternet; Console.WriteLine("Machine connected to Internet: {0}", isInternetConnected); if (isInternetConnected) { // get the list of all network connections NetworkCollection netCollection = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected); // work through the set of connections and write out the // name of those which are connected to the internet foreach (Network network in netCollection) { if (network.IsConnectedToInternet) { Console.WriteLine("Connection {0} is connected to the internet", network.Name); } } } Console.WriteLine("\nMain method complete. Press Enter."); Console.ReadLine(); }
private void ConfigureNetworkAddressChangedHandler() { NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler((sender, e) => { // Enumerate the connected network interfaces var networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected).GetEnumerator(); var newConnectedNetworks = new List <Microsoft.WindowsAPICodePack.Net.Network>(); while (networks.MoveNext()) { // Ignore the tunnel network interface and include everything else if (networks.Current.Name != ProductConstants.InternalAppName) { newConnectedNetworks.Add(networks.Current); } } if (newConnectedNetworks.Count > 0) { // Compare the network ids to confirm if a network change occured var connectedNetworkIds = new HashSet <Guid>(connectedNetworks.Select(n => n.NetworkId).ToList()); var newConnectedNetworkIds = new HashSet <Guid>(newConnectedNetworks.Select(n => n.NetworkId).ToList()); if (!connectedNetworkIds.SetEquals(newConnectedNetworkIds)) { connectedNetworks = newConnectedNetworks; // Validate the set of network ids, filtering out the networks that are obsolete if (ValidateNetworkIds(connectedNetworkIds) && ValidateNetworkIds(newConnectedNetworkIds)) { CaptivePortalDetected = false; } } } }); }
private void GetWindowsNetworkConnection() { var dnsSrv = new DNSService(); byte priority = 1; var networkCollection = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); foreach (var network in networkCollection) { var netAdapter = new NetworkAdapter { Name = network.Name, AdapterId = network.NetworkId, IsConnected = network.IsConnectedToInternet }; cmbNetworkConnection.Items.Add(network.Name); if (network.IsConnected && network.IsConnectedToInternet) { netAdapter.ConnectionCollection = network.Connections; netAdapter.Description = dnsSrv.Current(network.Connections).Description; netAdapter.DnsAddress = dnsSrv.Get(network.Connections); netAdapter.Priority = priority; priority++; } _networkAdapters.Add(netAdapter); } _connectedNetwork = _networkAdapters.SingleOrDefault(s => s.Priority == 1); SetCurrentDNSIPs(_connectedNetwork.DnsAddress); SetConnectionImage(); }
public static String IdToNetworkPrivatise(String AdapID) { var NLM = new NetworkListManager(); var NetList = NLM.GetNetworkConnections(); String ReturnMesg = " "; foreach (INetworkConnection NetIter in NetList) { if (NetIter.GetAdapterId().ToString().ToUpper() == AdapID.Trim().TrimEnd('}').TrimStart('{')) { ReturnMesg = NetIter.GetNetwork().GetName().ToString(); ReturnMesg += " : "; ReturnMesg += NetIter.GetNetwork().GetCategory().ToString(); // set network private NetIter.GetNetwork().SetCategory(NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PRIVATE); // authorize this app to fw; fallback measure FirewallHelper.Instance.GrantAuthorization(Assembly.GetExecutingAssembly().Location, "xomanufacture", NET_FW_SCOPE_.NET_FW_SCOPE_ALL, NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY); // disable the fw in private profiles FirewallHelper.Instance.SetFirewallStatus(false); //Console.WriteLine(FirewallHelper.Instance.HasAuthorization(Assembly.GetExecutingAssembly().Location).ToString()); return(ReturnMesg); } } ReturnMesg = "No Network"; return(ReturnMesg); }
/// <summary> /// fill the network combo box list with a custom combo box item /// </summary> /// <param name="vSelectedNetworkName"></param> /// <param name="vConnectivity"></param> private void FillNetworkList(string vSelectedNetworkName, NetworkConnectivityLevels vConnectivity) { cbNetwork.Items.Clear(); NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivity); // NetworkConnectivityLevels.Connected); ComboboxItemCustom comboItem; var orderedList = netCollection.OrderBy(x => x.Name); //.ThenByDescending(x => x.Name); foreach (Network n in orderedList) { { comboItem = new ComboboxItemCustom(n.Name, n.NetworkId.ToString(), n.IsConnectedToInternet); cbNetwork.Items.Add(comboItem); if (vSelectedNetworkName == n.Name) { cbNetwork.SelectedItem = comboItem; } } } if (String.IsNullOrEmpty(vSelectedNetworkName)) { cbNetwork.Text = "(Select One)"; } }
public static Network GetNetwork(TimeSpan?timeout = null) { Network result = default; Stopwatch stopwatch = Stopwatch.StartNew(); do { // Windows API code pack can show stale adapters, and incorrect names. // First, get the real interface here. if (NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(i => i.Name == WireGuardServerInterfaceName) is { } networkInterface) { // Now use the ID to get the network from API code pack if (NetworkListManager.GetNetworks(NetworkConnectivityLevels.All).FirstOrDefault(n => n.Connections.Any(c => c.AdapterId == new Guid(networkInterface.Id))) is { } network) { result = network; break; } } } while (stopwatch.ElapsedMilliseconds < (timeout?.TotalMilliseconds ?? 0)); stopwatch.Stop(); return(result); }
/// <summary> /// Get the Adapter ID from the supplied network ID /// </summary> /// <param name="vNetworkID"></param> /// <param name="vConnectivityLevels"></param> /// <returns></returns> public static Guid getAdapterID(string vNetworkID, NetworkConnectivityLevels vConnectivityLevels) { Guid output = new Guid(); NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivityLevels); foreach (Network n in netCollection) { string nID = n.NetworkId.ToString(); //if (nID.Equals(vNetworkID.ToString().ToUpper())) if (nID == vNetworkID.ToString()) { foreach (NetworkConnection c in n.Connections) { if (c.Network.NetworkId == n.NetworkId) { output = c.AdapterId; break; } } } } return(output); }
/// <summary> /// Gets all local profiles. /// </summary> /// <returns>Array of <see cref="NetworkProfile"/> objects.</returns> public static NetworkProfile[] GetAllLocalProfiles() { try { return(NetworkListManager.GetNetworkList()); } catch { } return(new NetworkProfile[0]); }
public Foo() { nlm = new NetworkListManager(); IConnectionPointContainer icpc = (IConnectionPointContainer)nlm; Guid tempGuid = typeof(INetworkListManagerEvents).GUID; icpc.FindConnectionPoint(ref tempGuid, out icp); icp.Advise(this, out cookie); }
public void IsConnectedIsConsistentWithGetNetworkConnections() { bool isConnected = NetworkListManager.IsConnected; bool moreThanZeroConnections = false; foreach (NetworkConnection c in NetworkListManager.GetNetworkConnections()) { moreThanZeroConnections = true; break; } Assert.Equal(isConnected, moreThanZeroConnections); }
private static NetworkCollection GetNetworks() { // var nlm = new NetworkListManager(); var networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected); // IEnumNetworks networks = nlm.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_ALL); foreach (var network in networks) { string sConnected = ((network.IsConnected == true) ? " (connected)" : " (disconnected)"); Console.WriteLine("Network : " + network.Name + " - Category : " + network.Category.ToString() + sConnected); } return(networks); }
// 检查网络是否连接 private bool IsNetworkConnected() { bool isConn = false; NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); foreach (Network n in networks) { if (n.IsConnected)//&& n.IsConnectedToInternet) { isConn = true; break; } } return(isConn); }
public Networking(System.Windows.Forms.Timer timerMediaShare, ListBox listBox) { listBox.Items.Clear(); _log = listBox; //_p2PVPNForm = p2PVPNForm; _timerMediaShare = timerMediaShare; //EnableAllNeworkInterfaces(); NetworkListManager = new NetworkListManager(); ScanNetworkInterfaces(); SaveOriginalDnsSettings(); SetBrowserTorProxies(); LogNetworkInfo(); NetworkListManager.NetworkConnectivityChanged += NetworkListManager_NetworkConnectivityChanged; }
private bool ValidateNetworkIds(HashSet <Guid> networkIds) { foreach (var id in networkIds) { try { NetworkListManager.GetNetwork(id); } catch (Exception) { return(false); } } return(true); }
/// <summary> /// Returns the name of the connected network. /// </summary> /// <param name="neti"></param> /// <returns></returns> public static string GetConnectedNetworks(NetworkInterface neti) { var connectedNet = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected); foreach (var net in connectedNet) { foreach (var conn in net.Connections) { if (conn.AdapterId == Guid.Parse(neti.Id)) { return(net.Name); } } } return(""); }
static void Main(string[] args) { var mgr = new NetworkListManager(); foreach (INetwork network in mgr.GetNetworks(NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_ALL)) { Console.WriteLine("Network: " + network.GetName()); foreach (INetworkConnection conn in network.GetNetworkConnections()) { Console.WriteLine(" Adapter Id: " + conn.GetAdapterId()); var ni = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(i => new Guid(i.Id) == conn.GetAdapterId()); Console.WriteLine(" Interface: " + ni.Name); Console.WriteLine(" Type: " + ni.NetworkInterfaceType); } } }
internal void CheckNetwork() { if (wakeNetworks != null) { bool connected = false; foreach (Network network in NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected)) { if (wakeNetworks.Contains(network.Name.ToLower()) || wakeNetworks.Contains(network.NetworkId.ToString().ToLower())) { connected = true; } } IsNetworkConnected = connected; } }
private void LoadNetworkConnections() { NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); foreach (Network n in networks) { // Create a tab TabItem tabItem = new TabItem(); tabItem.Header = string.Format("Network {0} ({1})", tabControl1.Items.Count, n.Name); tabControl1.Items.Add(tabItem); // StackPanel stackPanel2 = new StackPanel(); stackPanel2.Orientation = Orientation.Vertical; // List all the properties AddProperty("Name: ", n.Name, stackPanel2); AddProperty("Description: ", n.Description, stackPanel2); AddProperty("Domain type: ", n.DomainType.ToString(), stackPanel2); AddProperty("Is connected: ", n.IsConnected.ToString(), stackPanel2); AddProperty("Is connected to the internet: ", n.IsConnectedToInternet.ToString(), stackPanel2); AddProperty("Network ID: ", n.NetworkId.ToString(), stackPanel2); AddProperty("Category: ", n.Category.ToString(), stackPanel2); AddProperty("Created time: ", n.CreatedTime.ToString(), stackPanel2); AddProperty("Connected time: ", n.ConnectedTime.ToString(), stackPanel2); AddProperty("Connectivity: ", n.Connectivity.ToString(), stackPanel2); // StringBuilder s = new StringBuilder(); s.AppendLine("Network Connections:"); NetworkConnectionCollection connections = n.Connections; foreach (NetworkConnection nc in connections) { s.AppendFormat("\n\tConnection ID: {0}\n\tDomain: {1}\n\tIs connected: {2}\n\tIs connected to internet: {3}\n", nc.ConnectionId, nc.DomainType, nc.IsConnected, nc.IsConnectedToInternet); s.AppendFormat("\tAdapter ID: {0}\n\tConnectivity: {1}\n", nc.AdapterId, nc.Connectivity); } s.AppendLine(); Label label = new Label(); label.Content = s.ToString(); stackPanel2.Children.Add(label); tabItem.Content = stackPanel2; } }
public void Dispose(bool disposing) { if (!_disposed) { if (disposing) { //_networkListManager.NetworkConnectivityChanged -= _networkListManager_NetworkConnectivityChanged; } ClosePrograms(); if (NetworkListManager != null) { NetworkListManager = null; } ActiveNetworkAdapters = null; _disposed = true; } }
private void LoadNetworkConnections() { var networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); foreach (var n in networks) { var tabItem = new TabItem { Header = string.Format("Network {0} ({1})", TabControl1.Items.Count, n.Name) }; TabControl1.Items.Add(tabItem); var stackPanel2 = new StackPanel { Orientation = Orientation.Vertical }; AddProperty("Name: ", n.Name, stackPanel2); AddProperty("Description: ", n.Description, stackPanel2); AddProperty("Domain type: ", n.DomainType.ToString(), stackPanel2); AddProperty("Is connected: ", n.IsConnected.ToString(), stackPanel2); AddProperty("Is connected to the internet: ", n.IsConnectedToInternet.ToString(), stackPanel2); AddProperty("Network ID: ", n.NetworkId.ToString(), stackPanel2); AddProperty("Category: ", n.Category.ToString(), stackPanel2); AddProperty("Created time: ", n.CreatedTime.ToString(CultureInfo.InvariantCulture), stackPanel2); AddProperty("Connected time: ", n.ConnectedTime.ToString(CultureInfo.InvariantCulture), stackPanel2); AddProperty("Connectivity: ", n.Connectivity.ToString(), stackPanel2); var s = new StringBuilder(); s.AppendLine("Network Connections:"); var connections = n.Connections; foreach (var nc in connections) { s.AppendFormat( "\n\tConnection ID: {0}\n\tDomain: {1}\n\tIs connected: {2}\n\tIs connected to internet: {3}\n", nc.ConnectionId, nc.DomainType, nc.IsConnected, nc.IsConnectedToInternet); s.AppendFormat("\tAdapter ID: {0}\n\tConnectivity: {1}\n", nc.AdapterId, nc.Connectivity); } s.AppendLine(); var label = new Label { Content = s.ToString() }; stackPanel2.Children.Add(label); tabItem.Content = stackPanel2; } }
/// <summary> /// Get the ID for the network from the name/ssid /// </summary> /// <param name="vNetworkName"></param> /// <param name="vConnectivityLevels"></param> /// <returns></returns> public static Guid getNetworkID(String vNetworkName, NetworkConnectivityLevels vConnectivityLevels) { Guid output = new Guid(); NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivityLevels); foreach (Network n in netCollection) { if (n.Name == vNetworkName) { output = n.NetworkId; break; } } return(output); }
/// <summary> /// Get the information on if the network is connected, and connected to the internet /// </summary> /// <param name="vNetworkName"></param> /// <param name="vConnectivityLevels"></param> /// <param name="vIsConnected"></param> /// <param name="vIsConnectedToInternet"></param> public static void getNetworkConnectionInfo(String vNetworkName, NetworkConnectivityLevels vConnectivityLevels, out bool vIsConnected, out bool vIsConnectedToInternet) { vIsConnected = false; vIsConnectedToInternet = false; NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivityLevels); foreach (Network n in netCollection) { if (n.Name == vNetworkName) { vIsConnected = n.IsConnected; vIsConnectedToInternet = n.IsConnectedToInternet; break; } } }
public void NetworkCollectionContainsAllNetworkConnections() { bool isConnected = NetworkListManager.IsConnected; ConnectivityStates connectivity = NetworkListManager.Connectivity; bool isConnectedToInternet = NetworkListManager.IsConnectedToInternet; NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All); NetworkConnectionCollection connections = NetworkListManager.GetNetworkConnections(); // BUG: Both GetNetworks and GetNetworkConnections create new network objects, so // you can't do a reference comparison. // By inspection, the connections are contained in the NetworkCollection, just a different instance. foreach (NetworkConnection c in connections) { Assert.Contains(c.Network, networks); } }
/// <summary> /// Get the network name from the ID /// </summary> /// <param name="vNetworkId"></param> /// <param name="vConnectivityLevels"></param> /// <returns></returns> public static string getNetworkName(Guid vNetworkId, NetworkConnectivityLevels vConnectivityLevels) { string output = string.Empty; NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivityLevels); foreach (Network n in netCollection) { if (n.NetworkId == vNetworkId) { output = n.Name; break; } } return(output); }
public static void TestNetwork() { NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected); Console.WriteLine("\t[NetworkConnections]"); foreach (Network n in networks) { if (n.Description.StartsWith("Aspit")) { SQLDB.SetConString("DBConInternal"); } else { SQLDB.SetConString("DBCon"); } } }
private void btnAgBaglantisi_Click(object sender, EventArgs e) { NetworkCollection networks = NetworkListManager. GetNetworks(NetworkConnectivityLevels.All); foreach (Network n in networks) { TreeNode ana_dugum = new TreeNode(); ana_dugum.Text = string.Format("Network {0} ({1})", treeView1.Nodes.Count, "Bağlantı İsmi= " + n.Name); treeView1.Nodes.Add(ana_dugum); ana_dugum.Nodes.Add("Tanımlama= " + n.Description); ana_dugum.Nodes.Add("Domain türü=" + n.DomainType); if (n.IsConnected == true) { ana_dugum.Nodes.Add("Ağ Bağlantısı Açık"); } else { ana_dugum.Nodes.Add("Ağ Bağlantısı Kapalı"); } if (n.IsConnectedToInternet == true) { ana_dugum.Nodes.Add("İnternet Bağlantısı Var"); } else { ana_dugum.Nodes.Add("İnternet Bağlantısı Yok"); } ana_dugum.Nodes.Add("Network Id=" + n.NetworkId.ToString()); ana_dugum.Nodes.Add("Kategori=" + n.Category.ToString()); ana_dugum.Nodes.Add("Oluşturulma Zamanı=" + n.CreatedTime.ToString()); ana_dugum.Nodes.Add("Bağlantı Zamanı=" + n.ConnectedTime.ToString()); ana_dugum.Nodes.Add("Bağlantı Protokolleri=" + n.Connectivity.ToString()); } treeView1.ExpandAll(); }
public NetShufflerForm() { InitializeComponent(); // Check whether start-on-login is set startWithWindowsToolStripMenuItem.Checked = StartAtLoginConfig.CheckStartupConfig(); // Bind data grid data source ConfigBindingSource.DataSource = config; dgProfiles.DataSource = config.Profiles; cbxProfiles_CheckedChanged(this, null); // Open a Win32 handle to the WiFi subsystem. uint wifi_ver; if (Win32API.WlanOpenHandle((uint)2, IntPtr.Zero, out wifi_ver, out wifi_handle) != 0) { Win32API.ThrowException(); } // Set up detection of network stauts changes using .NET. // Method #1: NetworkListManager nlm = new NetworkListManager(); try { nlm.NetworkAdded += new INetworkEvents_NetworkAddedEventHandler(OnNetworkAdded); nlm.NetworkConnectivityChanged += new INetworkEvents_NetworkConnectivityChangedEventHandler(OnNetworkConnectivityChanged); nlm.NetworkDeleted += new INetworkEvents_NetworkDeletedEventHandler(OnNetworkDeleted); nlm.NetworkPropertyChanged += new INetworkEvents_NetworkPropertyChangedEventHandler(OnNetworkPropertyChanged); } catch (Exception ex) { MessageBox.Show(ex.Message); } // Method #2: System.Net.NetworkInformation.NetworkChange NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(OnNetworkChange); // Initially populate the active network list. UpdateNetworkList(); }
/// <summary> /// Get the Connection ID for the supplied network /// </summary> /// <param name="vNetworkID"></param> /// <param name="vConnectivityLevels"></param> /// <returns></returns> public static Guid getConnectionID(Guid vNetworkID, NetworkConnectivityLevels vConnectivityLevels) { Guid output = new Guid(); NetworkCollection netCollection = NetworkListManager.GetNetworks(vConnectivityLevels); foreach (Network n in netCollection) { foreach (NetworkConnection c in n.Connections) { if (c.Network.NetworkId == n.NetworkId && vNetworkID == c.Network.NetworkId) { output = c.ConnectionId; break; } } } return(output); }
public MainForm(bool silent, string command) { if (Conf.StartupForm != "iSpy") { SilentStartup = true; } SilentStartup = SilentStartup || silent || Conf.Enable_Password_Protect || Conf.StartupMode == 1; //need to wrap initialize component if (SilentStartup) { ShowInTaskbar = false; ShowIcon = false; WindowState = FormWindowState.Minimized; } else { switch (Conf.StartupMode) { case 0: _mWindowState = new PersistWindowState {Parent = this, RegistryPath = @"Software\ispy\startup"}; break; case 2: WindowState = FormWindowState.Maximized; break; case 3: WindowState = FormWindowState.Maximized; FormBorderStyle = FormBorderStyle.None; break; } } InitializeComponent(); if (!SilentStartup) { if (Conf.StartupMode == 0) _mWindowState = new PersistWindowState {Parent = this, RegistryPath = @"Software\ispy\startup"}; } RenderResources(); _startCommand = command; Windows7Renderer r = Windows7Renderer.Instance; toolStripMenu.Renderer = r; statusStrip1.Renderer = r; _pnlCameras.BackColor = Conf.MainColor.ToColor(); RemoteManager = new McRemoteControlManager.RemoteControlDevice(); RemoteManager.ButtonPressed += RemoteManagerButtonPressed; SetPriority(); Arrange(false); _jst = new JoystickDevice(); bool jsactive = false; string[] sticks = _jst.FindJoysticks(); foreach (string js in sticks) { string[] nameid = js.Split('|'); if (nameid[1] == Conf.Joystick.id) { Guid g = Guid.Parse(nameid[1]); jsactive = _jst.AcquireJoystick(g); } } if (!jsactive) { _jst.ReleaseJoystick(); _jst = null; } else { _tmrJoystick = new Timer(100); _tmrJoystick.Elapsed += TmrJoystickElapsed; _tmrJoystick.Start(); } try { INetworkListManager mNlm = new NetworkListManager(); var icpc = (IConnectionPointContainer) mNlm; //similar event subscription can be used for INetworkEvents and INetworkConnectionEvents Guid tempGuid = typeof (INetworkListManagerEvents).GUID; icpc.FindConnectionPoint(ref tempGuid, out _mIcp); if (_mIcp != null) { _mIcp.Advise(this, out _mCookie); } } catch (Exception) { _mIcp = null; } InstanceReference = this; }