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 WakeOnLan; using System.Configuration; namespace Waker { public partial class MainForm : Form { private string ip; private string mac; public MainForm() { InitializeComponent(); InitInstance(); } private void InitInstance() { string path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath; if (!string.IsNullOrEmpty(Settings.Default.ip)) ip = Settings.Default.ip; if (!string.IsNullOrEmpty(Settings.Default.mac)) mac = Settings.Default.mac; FillInformation(); AddressTextBox.KeyUp += TextBox_KeyUp; MacTextBox.KeyUp += TextBox_KeyUp; } private bool GetInformation() { ip = AddressTextBox.Text.Replace(" ", ""); mac = MacTextBox.Text.Replace(" ", ""); if (string.IsNullOrEmpty(ip) || string.IsNullOrEmpty(mac)) return false; AddressTextBox.Text = ip; MacTextBox.Text = mac; Settings.Default.ip = ip; Settings.Default.mac = mac; Settings.Default.Save(); return true; } private void FillInformation() { if (!string.IsNullOrEmpty(ip)) AddressTextBox.Text = ip; if (!string.IsNullOrEmpty(mac)) MacTextBox.Text = mac; } private void WakeButton_Click(object sender, EventArgs e) { if (!GetInformation()) { MessageBox.Show("Invalid information"); return; } try { WoL.Wake(ip, mac); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void TextBox_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter) return; WakeButton_Click(sender, e); } } }