using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
namespace League_of_Legends_Preping_checker
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Text = "EUROPE WEST";
if (Properties.Settings.Default.save)
{
comboBox1.Text = Properties.Settings.Default.server;
host = Properties.Settings.Default.IP;
}
backgroundWorker1.RunWorkerAsync();
}
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
string host = "95.172.65.1";
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
BackgroundWorker backgroundWorker = (BackgroundWorker)sender;
long totalTime = 0;
int timeout = 120;
Ping pingSender = new Ping();
PingReply reply = pingSender.Send(host, timeout);
if (reply.Status == IPStatus.Success)
{
totalTime = reply.RoundtripTime;
}
backgroundWorker.ReportProgress((int)totalTime);
Thread.Sleep(1000);
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
if (e.ProgressPercentage != 0)
{
UpdatePing(e.ProgressPercentage);
}
}
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
Color GetColor(Int32 rangeStart /*Complete Red*/, Int32 rangeEnd /*Complete Green*/, Int32 actualValue)
{
if (actualValue >= rangeEnd) return Color.Red;
Int32 max = rangeEnd - rangeStart; // make the scale start from 0
Int32 value = actualValue - rangeStart; // adjust the value accordingly
Int32 red = (255 * value) / max; // calculate green (the closer the value is to max, the greener it gets)
Int32 green = 255 - red; // set red as inverse of green
return Color.FromArgb((Byte)red, (Byte)green, (Byte)0);
}
private void UpdatePing(int ping)
{
try
{
Font font = new Font("Helvetica", 7.0f);
Brush b = new SolidBrush(GetColor(10, 200, ping));
Point p = new Point(0, 3);
using (var image = new Bitmap(16, 16))
using (var g = Graphics.FromImage(image))
{
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
g.DrawString(ping.ToString(), font, b, p);
this.Icon = Icon.FromHandle(image.GetHicon());
notifyIcon1.Icon = Icon.FromHandle(image.GetHicon());
label1.Text = ping.ToString() + "ms";
label1.ForeColor = GetColor(10, 200, ping);
}
}
catch
{ }
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Show();
}
private void button1_Click_1(object sender, EventArgs e)
{
this.Hide();
notifyIcon1.ShowBalloonTip(3);
}
private void button1_MouseHover(object sender, EventArgs e)
{
button1.BackgroundImage = Properties.Resources.btnH2;
}
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.BackgroundImage = Properties.Resources.btn3;
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (Properties.Settings.Default.save)
{
Properties.Settings.Default.IP = host;
Properties.Settings.Default.server = comboBox1.Text;
Properties.Settings.Default.Save();
}
else
{
Properties.Settings.Default.save = false;
Properties.Settings.Default.Save();
}
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
this.Hide();
notifyIcon1.ShowBalloonTip(3);
}
private void comboBox1_Click(object sender, EventArgs e)
{
if (comboBox1.Text == "NORTH AMERICA")
{
comboBox1.Text = "EUROPE WEST";
host = "95.172.65.1";
}
else if (comboBox1.Text == "EUROPE WEST")
{
comboBox1.Text = "EUROPE NORDIC-EAST";
host = "95.172.65.1";
}
else if (comboBox1.Text == "EUROPE NORDIC-EAST")
{
comboBox1.Text = "NORTH AMERICA";
host = "64.7.194.1";
}
else if (comboBox1.Text == "OCEANIA")
{
host = "UNAVAILABLE";
}
else if (comboBox1.Text == "PBE Game Servers")
{
host = "UNAVAILABLE";
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
Form2 settingsForm = new Form2(Cursor.Position.X, Cursor.Position.Y);
settingsForm.ShowDialog(this);
}
private void label3_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
private void comboBox1_MouseHover(object sender, EventArgs e)
{
comboBox1.BackgroundImage = Properties.Resources.btnH2;
}
private void comboBox1_MouseLeave(object sender, EventArgs e)
{
comboBox1.BackgroundImage = Properties.Resources.btn3;
}
}
}
---------------------SETTINGS VINDU----------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace League_of_Legends_Preping_checker
{
public partial class Form2 : Form
{
private int desiredStartLocationX;
private int desiredStartLocationY;
public Form2(int x, int y)
{
InitializeComponent();
this.desiredStartLocationX = x;
this.desiredStartLocationY = y;
Load += new EventHandler(Form2_Load);
}
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
private void Form2_Load(object sender, EventArgs e)
{
if (Properties.Settings.Default.save)
{
checkBox1.Checked = true;
}
else
{
checkBox1.Checked = false;
}
this.SetDesktopLocation(desiredStartLocationX, desiredStartLocationY);
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.save = checkBox1.Checked;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=sondre%2enjaastad%40gmail%2ecom&lc=NO&item_name=Njastad%2ecom¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted");
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
}
}