Example #1
0
        /* 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);
        }
Example #2
0
        public bool NLMAPICheck()
        {
            INetworkListManager networkListManager = new NetworkListManager();

            return(networkListManager.IsConnectedToInternet);
            //return false;
        }
Example #3
0
        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();
        }
Example #4
0
        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;
                        }
                    }
                }
            });
        }
Example #5
0
        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();
        }
Example #6
0
        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)";
            }
        }
Example #8
0
        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);
        }
Example #9
0
        /// <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);
        }
Example #10
0
 /// <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]);
 }
Example #11
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);
    }
Example #12
0
        public void IsConnectedIsConsistentWithGetNetworkConnections()
        {
            bool isConnected             = NetworkListManager.IsConnected;
            bool moreThanZeroConnections = false;

            foreach (NetworkConnection c in NetworkListManager.GetNetworkConnections())
            {
                moreThanZeroConnections = true;
                break;
            }

            Assert.Equal(isConnected, moreThanZeroConnections);
        }
Example #13
0
        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);
        }
Example #14
0
        // 检查网络是否连接
        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);
        }
Example #15
0
        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;
        }
Example #16
0
        private bool ValidateNetworkIds(HashSet <Guid> networkIds)
        {
            foreach (var id in networkIds)
            {
                try
                {
                    NetworkListManager.GetNetwork(id);
                }
                catch (Exception)
                {
                    return(false);
                }
            }

            return(true);
        }
Example #17
0
        /// <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);
            }
        }
    }
Example #19
0
        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;
            }
        }
Example #20
0
        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;
            }
        }
Example #21
0
 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;
            }
        }
Example #23
0
        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;

        }
Example #24
0
        /// <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);
        }
Example #25
0
        /// <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;
                }
            }
        }
Example #26
0
        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);
            }
        }
Example #27
0
        /// <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");
                }
            }
        }
Example #29
0
        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();
        }
Example #30
0
        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();
        }
Example #31
0
        /// <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);
        }
Example #32
0
        public void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    //_networkListManager.NetworkConnectivityChanged -= _networkListManager_NetworkConnectivityChanged;
                }
                ClosePrograms();
                if (NetworkListManager != null)
                {
                    NetworkListManager = null;
                }
                ActiveNetworkAdapters = null;
                _disposed = true;
            }

        }
Example #33
0
        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;
        }