public void Delete() { if (ToDeleteInterfaces.Count != 0) { foreach (var interfaceProfile in ToDeleteInterfaces) { DeleteInterfaceProfiles(interfaceProfile); InterfaceProfiles.Remove(interfaceProfile); } } UpdateInterfaceProfileListKey(); if (ToDeleteNetworks.Count != 0) { foreach (var networkProfile in ToDeleteNetworks) { DeleteNetworkProfiles(networkProfile); NetworkProfiles.Remove(networkProfile); } } // Clear trackers ToDeleteInterfaces.Clear(); ToDeleteNetworks.Clear(); }
public void GetNetworks() { try { var registry = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, SixtyFourBitChecked ? RegistryView.Registry64 : RegistryView.Registry32); var unmanagedKeys = registry.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"); if (unmanagedKeys != null) { foreach (var unmanaged in unmanagedKeys.GetSubKeyNames()) { var network = GetNetworkMetadata(unmanaged); if (network != null) { NetworkProfiles.Add(network); } } unmanagedKeys.Close(); } } catch (Exception ex) { if (ex is SecurityException || ex is UnauthorizedAccessException) { MessageBox.Show(ex.Message + " Please run as administrator.", "Admin rights required"); } if (ex is ArgumentException || ex is NullReferenceException) { MessageBox.Show(ex.Message, "Could not find registry key"); } } }
public void LoadAll() { // Clear collections so no duplicate InterfaceProfiles.Clear(); NetworkProfiles.Clear(); ToDeleteInterfaces.Clear(); ToDeleteNetworks.Clear(); // Load all interfaces GetInterfaces(); GetNetworks(); }