public void RunAsAdmin() { try { MDnsSvrWorker.Dispose(); ProcessStartInfo startInfo = new ProcessStartInfo { FileName = GetType().Assembly.Location, Verb = "runas" }; Process.Start(startInfo); Environment.Exit(Environment.ExitCode); } catch (Exception exception) { MyTools.BackgroundLog(exception.ToString()); } }
public void RunAsAdmin() { try { MDnsServer.Stop(); ProcessStartInfo startInfo = new ProcessStartInfo { FileName = Process.GetCurrentProcess().MainModule.FileName, Verb = "runas" }; Process.Start(startInfo); Environment.Exit(Environment.ExitCode); } catch (Exception exception) { MyTools.BackgroundLog(exception.ToString()); } }
private void RunAsAdmin_OnActionClick(object sender, RoutedEventArgs e) { try { MDnsSvrWorker.Dispose(); ProcessStartInfo startInfo = new ProcessStartInfo { FileName = GetType().Assembly.Location, Verb = "runas" }; Process.Start(startInfo); Environment.Exit(Environment.ExitCode); } catch (Exception exception) { MyTools.BackgroundLog(exception.ToString()); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { var bgWorker = new BackgroundWorker(); bgWorker.DoWork += (o, args) => { try { ListStrings = new WebClient().DownloadString(TypeDNS ? UrlSettings.MDnsList : UrlSettings.MDohList) .Split('\n').ToList(); } catch (Exception exception) { MyTools.BackgroundLog(@"| Download String failed : " + exception); } if (string.IsNullOrWhiteSpace(ListStrings[ListStrings.Count - 1])) { ListStrings.RemoveAt(ListStrings.Count - 1); } }; bgWorker.RunWorkerCompleted += (o, args) => { try { if (File.Exists($"{MainWindow.SetupBasePath}dns.list") && TypeDNS) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}dns.list")) { ListStrings.Add(item); } } else if (File.Exists($"{MainWindow.SetupBasePath}doh.list") && !TypeDNS) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}doh.list")) { ListStrings.Add(item); } } if (ListStrings != null && ListStrings.Count != 0) { foreach (var item in ListStrings) { SpeedListView.Items.Add(new SpeedList { Server = TypeDNS ? item.Split('*', ',')[0].Trim() : new Uri(item.Split('*', ',')[0].Trim()).Host, Name = item.Contains('*') || item.Contains(',') ? item.Split('*', ',')[1].Trim() : "" }); } } StratButton.IsEnabled = true; ProgressBar.Maximum = SpeedListView.Items.Count; Grid.Effect = null; } catch (Exception exception) { MyTools.BackgroundLog(@"| Read String failed : " + exception); } }; bgWorker.RunWorkerAsync(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { var bgWorker = new BackgroundWorker(); bgWorker.DoWork += (o, args) => { try { ListStrings = new WebClient().DownloadString(TypeDNS ? UrlSettings.MDnsList : UrlSettings.MDohList) .Split('\n').ToList(); if (string.IsNullOrWhiteSpace(ListStrings[ListStrings.Count - 1])) { ListStrings.RemoveAt(ListStrings.Count - 1); } args.Result = true; } catch (Exception exception) { MyTools.BackgroundLog(@"| Download String failed : " + exception); args.Result = false; } }; bgWorker.RunWorkerCompleted += (o, args) => { if (!(bool)args.Result) { Grid.Effect = null; Snackbar.IsActive = true; Snackbar.Message = new SnackbarMessage() { Content = "获取列表内容失败,请检查互联网连接。" }; return; } try { if (File.Exists($"{MainWindow.SetupBasePath}dns.list") && TypeDNS) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}dns.list")) { ListStrings.Add(item); } } else if (File.Exists($"{MainWindow.SetupBasePath}doh.list") && !TypeDNS) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}doh.list")) { ListStrings.Add(item); } } if (ListStrings != null && ListStrings.Count != 0) { foreach (var item in ListStrings) { SpeedListView.Items.Add(new SpeedList { Server = TypeDNS ? item.Split('*', ',')[0].Trim() : new Uri(item.Split('*', ',')[0].Trim()).Host, Name = item.Contains('*') || item.Contains(',') ? item.Split('*', ',')[1].Trim() : "" }); } } StratButton.IsEnabled = true; ProgressBar.Maximum = SpeedListView.Items.Count; Grid.Effect = null; } catch (Exception exception) { MyTools.BackgroundLog(@"| Read String failed : " + exception); MessageBox.Show($"Error: 尝试载入列表失败{Environment.NewLine}Original error: {exception}"); } }; bgWorker.RunWorkerAsync(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { List <string> dohListStrings = null, dnsListStrings = null; var bgWorker = new BackgroundWorker(); bgWorker.DoWork += (o, args) => { try { dohListStrings = new WebClient() .DownloadString(UrlSettings.MDohList).Split('\n').ToList(); dnsListStrings = new WebClient() .DownloadString(UrlSettings.MDnsList).Split('\n').ToList(); if (string.IsNullOrWhiteSpace(dohListStrings[dohListStrings.Count - 1])) { dohListStrings.RemoveAt(dohListStrings.Count - 1); } if (string.IsNullOrWhiteSpace(dnsListStrings[dnsListStrings.Count - 1])) { dnsListStrings.RemoveAt(dnsListStrings.Count - 1); } } catch (Exception exception) { MyTools.BackgroundLog(@"| Download list failed : " + exception); } }; bgWorker.RunWorkerCompleted += (o, args) => { try { if (dohListStrings != null && dohListStrings.Count != 0) { DoHUrlText.Items.Clear(); foreach (var item in dohListStrings) { DoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); SecondDoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); } } if (dnsListStrings != null && dnsListStrings.Count != 0) { SecondDNS.Items.Clear(); foreach (var item in dnsListStrings) { SecondDNS.Items.Add(item.Split('*', ',')[0].Trim()); } } if (dohListStrings == null && dnsListStrings == null) { Snackbar.MessageQueue.Enqueue(new TextBlock() { Text = @"获取列表内容失败,请检查互联网连接。" }); } if (File.Exists($"{MainWindow.SetupBasePath}doh.list")) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}doh.list")) { DoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); SecondDoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); } } if (File.Exists($"{MainWindow.SetupBasePath}dns.list")) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}dns.list")) { SecondDNS.Items.Add(item.Split('*', ',')[0].Trim()); } } } catch (Exception exception) { MyTools.BackgroundLog(@"| Read list failed : " + exception); } DoHUrlText.Text = DnsSettings.HttpsDnsUrl; SecondDNS.Text = DnsSettings.SecondDnsIp.ToString(); }; bgWorker.RunWorkerAsync(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { List <string> dohListStrings = null, dnsListStrings = null; var bgWorker = new BackgroundWorker(); bgWorker.DoWork += (o, args) => { try { dohListStrings = new WebClient() .DownloadString(UrlSettings.MDohList).Split('\n').ToList(); dnsListStrings = new WebClient() .DownloadString(UrlSettings.MDnsList).Split('\n').ToList(); } catch (Exception exception) { MyTools.BackgroundLog(@"| Download list failed : " + exception); } if (string.IsNullOrWhiteSpace(dohListStrings[dohListStrings.Count - 1])) { dohListStrings.RemoveAt(dohListStrings.Count - 1); } if (string.IsNullOrWhiteSpace(dnsListStrings[dnsListStrings.Count - 1])) { dnsListStrings.RemoveAt(dnsListStrings.Count - 1); } }; bgWorker.RunWorkerCompleted += (o, args) => { if (UrlSettings.MDohList.Contains(".list")) { foreach (var item in dohListStrings) { DoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); SecondDoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); } } if (UrlSettings.MDnsList.Contains(".list")) { foreach (var item in dnsListStrings) { SecondDNS.Items.Add(item.Split('*', ',')[0].Trim()); } } if (File.Exists($"{MainWindow.SetupBasePath}doh.list")) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}doh.list")) { DoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); SecondDoHUrlText.Items.Add(item.Split('*', ',')[0].Trim()); } } if (File.Exists($"{MainWindow.SetupBasePath}dns.list")) { foreach (var item in File.ReadAllLines($"{MainWindow.SetupBasePath}dns.list")) { SecondDNS.Items.Add(item.Split('*', ',')[0].Trim()); } } }; bgWorker.RunWorkerAsync(); }