diff --git a/windows/WinUI/JoinNetworkView.xaml b/windows/WinUI/JoinNetworkView.xaml
index 0bd065a41..1cd1e98d8 100644
--- a/windows/WinUI/JoinNetworkView.xaml
+++ b/windows/WinUI/JoinNetworkView.xaml
@@ -5,12 +5,12 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WinUI"
mc:Ignorable="d"
- Title="Join a Network" Height="120" Width="320" Icon="ZeroTierIcon.ico">
+ Title="Join a Network" SizeToContent="WidthAndHeight" Height="Auto" Width="Auto" Icon="ZeroTierIcon.ico">
-
+
diff --git a/windows/WinUI/PreferencesView.xaml b/windows/WinUI/PreferencesView.xaml
index 51c30d9a2..ac61fff1f 100644
--- a/windows/WinUI/PreferencesView.xaml
+++ b/windows/WinUI/PreferencesView.xaml
@@ -7,7 +7,7 @@
mc:Ignorable="d"
Title="PreferencesView" SizeToContent="WidthAndHeight" Height="Auto" Width="Auto" Icon="ZeroTierIcon.ico">
-
+
diff --git a/windows/WinUI/PreferencesView.xaml.cs b/windows/WinUI/PreferencesView.xaml.cs
index 9de8766ec..c6733be65 100644
--- a/windows/WinUI/PreferencesView.xaml.cs
+++ b/windows/WinUI/PreferencesView.xaml.cs
@@ -1,4 +1,5 @@
-using System;
+using Microsoft.Win32;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -19,9 +20,31 @@ namespace WinUI
///
public partial class PreferencesView : Window
{
+ public static string AppName = "ZeroTier One";
+ private RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
+
public PreferencesView()
{
InitializeComponent();
+
+
+ string keyValue = rk.GetValue(AppName) as string;
+
+ if (keyValue != null && keyValue.Equals(System.Reflection.Assembly.GetExecutingAssembly().Location))
+ {
+ startupCheckbox.IsChecked = true;
+ }
}
+
+ private void startupCheckbox_Checked(object sender, RoutedEventArgs e)
+ {
+ rk.SetValue(AppName, System.Reflection.Assembly.GetExecutingAssembly().Location);
+ }
+
+ private void startupCheckbox_Unchecked(object sender, RoutedEventArgs e)
+ {
+ rk.DeleteValue(AppName);
+ }
+
}
}