diff --git a/WifiSitterGui/MainWindow.xaml b/WifiSitterGui/MainWindow.xaml
index 75f2490..04d3f9c 100644
--- a/WifiSitterGui/MainWindow.xaml
+++ b/WifiSitterGui/MainWindow.xaml
@@ -16,8 +16,28 @@
-
+
+
+
+
+
+
+
+
+
+ Service Status:
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WifiSitterGui/ViewModel/MainWindowViewModel.cs b/WifiSitterGui/ViewModel/MainWindowViewModel.cs
index caba1c6..72732a8 100644
--- a/WifiSitterGui/ViewModel/MainWindowViewModel.cs
+++ b/WifiSitterGui/ViewModel/MainWindowViewModel.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.ServiceProcess;
using System.Text;
using WifiSitter;
@@ -13,6 +14,7 @@ namespace WifiSitterGui.ViewModel
#region fields
SimpleNetworkState _netState;
+ private ServiceController _sc;
#endregion // fields
@@ -32,9 +34,34 @@ namespace WifiSitterGui.ViewModel
get { return _netState; }
set { _netState = value; OnPropertyChanged(null); }
}
+
public List Nics { get { return NetState.Nics; } }
+
+ public string ServiceState {
+ get {
+ try { if (_sc == null) _sc = new ServiceController("WifiSitter"); }
+ catch { return "No Service"; }
+
+ _sc.Refresh();
+ switch (_sc.Status) {
+ case ServiceControllerStatus.Running:
+ return "Running";
+ case ServiceControllerStatus.Stopped:
+ return "Stopped";
+ case ServiceControllerStatus.Paused:
+ return "Paused";
+ case ServiceControllerStatus.StopPending:
+ return "Stopping";
+ case ServiceControllerStatus.StartPending:
+ return "Starting";
+ default:
+ return "Status Changing";
+ }
+ }
+ }
+
#endregion // properties