mirror of
https://github.com/Ylianst/MeshCentralRouter
synced 2025-12-06 00:13:33 +00:00
Fixes to Yilanst #13
This commit is contained in:
48
MainForm.cs
48
MainForm.cs
@@ -84,6 +84,7 @@ namespace MeshCentralRouter
|
||||
{
|
||||
if (IsAdministrator() == false)
|
||||
{
|
||||
|
||||
// Restart program and run as admin
|
||||
var exeName = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo(exeName, "-install");
|
||||
@@ -138,14 +139,6 @@ namespace MeshCentralRouter
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||
private static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)]string lParam);
|
||||
|
||||
public void setRegValue(string name, string value)
|
||||
{
|
||||
try { Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value); } catch (Exception) { }
|
||||
}
|
||||
public string getRegValue(string name, string value)
|
||||
{
|
||||
try {return Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Open Source\MeshCentral Router", name, value).ToString(); } catch (Exception) { return value; }
|
||||
}
|
||||
|
||||
public MainForm(string[] args)
|
||||
{
|
||||
@@ -159,8 +152,8 @@ namespace MeshCentralRouter
|
||||
Version version = Assembly.GetEntryAssembly().GetName().Version;
|
||||
versionLabel.Text = "v" + version.Major + "." + version.Minor + "." + version.Build;
|
||||
|
||||
serverNameComboBox.Text = getRegValue("ServerName", "");
|
||||
userNameTextBox.Text = getRegValue("UserName", "");
|
||||
serverNameComboBox.Text = Settings.GetRegValue("ServerName", "");
|
||||
userNameTextBox.Text = Settings.GetRegValue("UserName", "");
|
||||
title = this.Text;
|
||||
|
||||
int argflags = 0;
|
||||
@@ -206,9 +199,9 @@ namespace MeshCentralRouter
|
||||
private void MainForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
// Load registry settings
|
||||
showGroupNamesToolStripMenuItem.Checked = (getRegValue("Show Group Names", "1") == "1");
|
||||
showOfflineDevicesToolStripMenuItem.Checked = (getRegValue("Show Offline Devices", "1") == "1");
|
||||
if (getRegValue("Device Sort", "Name") == "Name") {
|
||||
showGroupNamesToolStripMenuItem.Checked = (Settings.GetRegValue("Show Group Names", "1") == "1");
|
||||
showOfflineDevicesToolStripMenuItem.Checked = (Settings.GetRegValue("Show Offline Devices", "1") == "1");
|
||||
if (Settings.GetRegValue("Device Sort", "Name") == "Name") {
|
||||
sortByNameToolStripMenuItem.Checked = true;
|
||||
sortByGroupToolStripMenuItem.Checked = false;
|
||||
} else {
|
||||
@@ -319,12 +312,12 @@ namespace MeshCentralRouter
|
||||
}
|
||||
else
|
||||
{
|
||||
string ignoreCert = getRegValue("IgnoreCert", null);
|
||||
string ignoreCert = Settings.GetRegValue("IgnoreCert", null);
|
||||
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
||||
}
|
||||
|
||||
// Load two factor cookie if present
|
||||
string twoFactorCookie = getRegValue("TwoFactorCookie", null);
|
||||
string twoFactorCookie = Settings.GetRegValue("TwoFactorCookie", null);
|
||||
if ((twoFactorCookie != null) && (twoFactorCookie != "")) { twoFactorCookie = "cookie=" + twoFactorCookie; } else { twoFactorCookie = null; }
|
||||
|
||||
Uri serverurl = null;
|
||||
@@ -363,13 +356,13 @@ namespace MeshCentralRouter
|
||||
private void Meshcentral_onTwoFactorCookie(string cookie)
|
||||
{
|
||||
if (this.InvokeRequired) { this.Invoke(new MeshCentralServer.twoFactorCookieHandler(Meshcentral_onTwoFactorCookie), cookie); return; }
|
||||
setRegValue("TwoFactorCookie", cookie);
|
||||
Settings.SetRegValue("TwoFactorCookie", cookie);
|
||||
}
|
||||
|
||||
private void nextButton3_Click(object sender, EventArgs e)
|
||||
{
|
||||
// If we need to remember this certificate
|
||||
if (rememberCertCheckBox.Checked) { setRegValue("IgnoreCert", lastBadConnectCert.GetCertHashString()); }
|
||||
if (rememberCertCheckBox.Checked) { Settings.SetRegValue("IgnoreCert", lastBadConnectCert.GetCertHashString()); }
|
||||
|
||||
// Attempt to login, ignore bad cert.
|
||||
addButton.Enabled = false;
|
||||
@@ -393,7 +386,7 @@ namespace MeshCentralRouter
|
||||
meshcentral.connect(serverurl, null, null, null);
|
||||
} else {
|
||||
// Load two factor cookie if present
|
||||
string twoFactorCookie = getRegValue("TwoFactorCookie", null);
|
||||
string twoFactorCookie = Settings.GetRegValue("TwoFactorCookie", null);
|
||||
if ((twoFactorCookie != null) && (twoFactorCookie != "")) { twoFactorCookie = "cookie=" + twoFactorCookie; } else { twoFactorCookie = null; }
|
||||
serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
|
||||
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, twoFactorCookie);
|
||||
@@ -690,8 +683,8 @@ namespace MeshCentralRouter
|
||||
addButton.Focus();
|
||||
if (authLoginUrl == null)
|
||||
{
|
||||
setRegValue("ServerName", serverNameComboBox.Text);
|
||||
setRegValue("UserName", userNameTextBox.Text);
|
||||
Settings.SetRegValue("ServerName", serverNameComboBox.Text);
|
||||
Settings.SetRegValue("UserName", userNameTextBox.Text);
|
||||
}
|
||||
if (meshcentral.username != null) {
|
||||
this.Text = title + " - " + meshcentral.username;
|
||||
@@ -927,7 +920,7 @@ namespace MeshCentralRouter
|
||||
if (lastBadConnectCert != null) {
|
||||
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
|
||||
} else {
|
||||
string ignoreCert = getRegValue("IgnoreCert", null);
|
||||
string ignoreCert = Settings.GetRegValue("IgnoreCert", null);
|
||||
if (ignoreCert != null) { meshcentral.okCertHash = ignoreCert; }
|
||||
}
|
||||
meshcentral.onStateChanged += Meshcentral_onStateChanged;
|
||||
@@ -1076,9 +1069,14 @@ namespace MeshCentralRouter
|
||||
SettingsForm f = new SettingsForm();
|
||||
f.BindAllInterfaces = inaddrany;
|
||||
f.ShowSystemTray = (notifyIcon.Visible == true);
|
||||
f.Exp_KeyboardHookPriority = Settings.GetRegValue("Exp_KeyboardHookPriority", "false") == "true" ? true : false;
|
||||
f.Exp_KeyboardHook = Settings.GetRegValue("Exp_KeyboardHook", "false") == "true" ? true : false;
|
||||
|
||||
if (f.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
inaddrany = f.BindAllInterfaces;
|
||||
Settings.SetRegValue("Exp_KeyboardHook", f.Exp_KeyboardHook.ToString().ToLower());
|
||||
Settings.SetRegValue("Exp_KeyboardHookPriority", f.Exp_KeyboardHookPriority.ToString().ToLower());
|
||||
if (f.ShowSystemTray) {
|
||||
notifyIcon.Visible = true;
|
||||
this.ShowInTaskbar = false;
|
||||
@@ -1223,14 +1221,14 @@ namespace MeshCentralRouter
|
||||
private void showGroupNamesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
showGroupNamesToolStripMenuItem.Checked = !showGroupNamesToolStripMenuItem.Checked;
|
||||
setRegValue("Show Group Names", showGroupNamesToolStripMenuItem.Checked ? "1" : "0");
|
||||
Settings.SetRegValue("Show Group Names", showGroupNamesToolStripMenuItem.Checked ? "1" : "0");
|
||||
updateDeviceList();
|
||||
}
|
||||
|
||||
private void hideOfflineDevicesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
showOfflineDevicesToolStripMenuItem.Checked = !showOfflineDevicesToolStripMenuItem.Checked;
|
||||
setRegValue("Show Offline Devices", showOfflineDevicesToolStripMenuItem.Checked?"1":"0");
|
||||
Settings.SetRegValue("Show Offline Devices", showOfflineDevicesToolStripMenuItem.Checked?"1":"0");
|
||||
updateDeviceList();
|
||||
}
|
||||
|
||||
@@ -1238,7 +1236,7 @@ namespace MeshCentralRouter
|
||||
{
|
||||
sortByNameToolStripMenuItem.Checked = true;
|
||||
sortByGroupToolStripMenuItem.Checked = false;
|
||||
setRegValue("Device Sort", "Name");
|
||||
Settings.SetRegValue("Device Sort", "Name");
|
||||
updateDeviceList();
|
||||
}
|
||||
|
||||
@@ -1246,7 +1244,7 @@ namespace MeshCentralRouter
|
||||
{
|
||||
sortByNameToolStripMenuItem.Checked = false;
|
||||
sortByGroupToolStripMenuItem.Checked = true;
|
||||
setRegValue("Device Sort", "Group");
|
||||
Settings.SetRegValue("Device Sort", "Group");
|
||||
updateDeviceList();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user