-
Notifications
You must be signed in to change notification settings - Fork 1
/
Form1.cs
137 lines (125 loc) · 4.01 KB
/
Form1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Shecan
{
public partial class Form1 : Form
{
private string DNS1 = "178.22.122.100";
private string DNS2 = "185.51.200.2";
public Form1()
{
InitializeComponent();
MinimizeToTray();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
WindowState = FormWindowState.Minimized;
MinimizeToTray();
}
}
public void MinimizeToTray()
{
try
{
notifyIcon1.BalloonTipTitle = "Shecan";
notifyIcon1.BalloonTipText = "is running on system tray";
if (FormWindowState.Minimized == this.WindowState)
{
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip(500);
this.Hide();
}
else if (FormWindowState.Normal == this.WindowState)
{
notifyIcon1.Visible = true;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Show();
}
private void quitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
var dnsS = DNSUtil.GetDnsAdresses();
var dnsStrings = dnsS.Select(x => x.ToString().ToString()).ToList();
if (dnsStrings.Contains(DNS1) || dnsStrings.Contains(DNS2))
{
btn_connect_disconnect.Text = "Disconnect";
}
else
{
btn_connect_disconnect.Text = "Connect";
}
}
catch
{
MessageBox.Show("No Internet Connection!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btn_connect_disconnect_Click(object sender, EventArgs e)
{
try
{
Button btn = sender as Button;
string NIC = DNSUtil.GetActiveEthernetOrWifiNetworkInterface().Name;
switch (btn.Text)
{
case "Connect":
DNSUtil.SetDNS(NIC, DNS1 + "," + DNS2);
break;
case "Disconnect":
DNSUtil.SetDNS(NIC, null);
break;
}
var dnsS = DNSUtil.GetDnsAdresses();
var dnsStrings = dnsS.Select(x => x.ToString().ToString()).ToList();
if (dnsStrings.Contains(DNS1) || dnsStrings.Contains(DNS2))
{
btn_connect_disconnect.Text = "Disconnect";
}
else
{
btn_connect_disconnect.Text = "Connect";
}
}
catch
{
MessageBox.Show("No Internet Connection!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void NotifyIcon1_MouseDoubleClick_1(object sender, MouseEventArgs e)
{
}
}
}