├── ProcessMonitor.App ├── Images │ ├── add.png │ ├── Icon.ico │ ├── clear.png │ ├── exit.png │ ├── remove.png │ ├── reset.png │ ├── start.png │ ├── stop.png │ ├── update.png │ ├── connect.png │ └── disconnect.png ├── Presenters │ ├── IPresenter.cs │ ├── AddToWatchPresenter.cs │ └── MainPresenter.cs ├── App.xaml ├── Views │ ├── IConnectView.cs │ ├── IView.cs │ ├── IAddToWatchView.cs │ ├── IMainView.cs │ ├── AboutView.xaml │ ├── AboutView.xaml.cs │ ├── ConnectView.xaml │ ├── AddToWatchView.xaml │ ├── ConnectView.xaml.cs │ ├── AddToWatchView.xaml.cs │ ├── MainView.xaml │ └── MainView.xaml.cs ├── Service References │ └── MonitorService │ │ ├── Message1.xsd │ │ ├── Arrays.xsd │ │ ├── ProcessMonitor1.xsd │ │ ├── configuration.svcinfo │ │ ├── Reference.svcmap │ │ ├── service21.xsd │ │ ├── service2.xsd │ │ ├── Reference.cs │ │ ├── service1.wsdl │ │ └── configuration91.svcinfo ├── ViewModels │ ├── ViewModelBase.cs │ └── WatchProcessViewModel.cs ├── Properties │ ├── DataSources │ │ └── ProcessMonitor.WatchProcess.datasource │ └── AssemblyInfo.cs ├── App.config ├── App.xaml.cs ├── Command │ └── RelayCommand.cs └── ProcessMonitor.App.csproj ├── ProcessMonitor.Service ├── !install.bat ├── !uninstall.bat ├── Program.cs ├── ProjectInstaller.cs ├── App.config ├── Properties │ └── AssemblyInfo.cs ├── MonitorService.cs └── ProcessMonitor.Service.csproj ├── .gitignore ├── ProcessMonitor.Installer ├── Variables.wxi ├── Shortcuts.wxs ├── Features.wxs ├── Product.wxs ├── Files.wxs ├── ProcessMonitor.Installer.wixproj └── License.rtf ├── .gitattributes ├── README.md ├── ProcessMonitor ├── IMonitor.cs ├── App.config ├── Properties │ └── AssemblyInfo.cs ├── WatchProcess.cs ├── ProcessMonitor.csproj └── Monitor.cs ├── ProcessMonitor.ConsoleApp ├── App.config ├── Properties │ └── AssemblyInfo.cs ├── Program.cs └── ProcessMonitor.ConsoleApp.csproj └── ProcessMonitor.sln /ProcessMonitor.App/Images/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/add.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/Icon.ico -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/clear.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/exit.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/remove.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/reset.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/start.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/stop.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/update.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/connect.png -------------------------------------------------------------------------------- /ProcessMonitor.App/Images/disconnect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sys27/ProcessMonitor/HEAD/ProcessMonitor.App/Images/disconnect.png -------------------------------------------------------------------------------- /ProcessMonitor.Service/!install.bat: -------------------------------------------------------------------------------- 1 | C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil ProcessMonitor.Service.exe 2 | net start MonitorService 3 | pause -------------------------------------------------------------------------------- /ProcessMonitor.Service/!uninstall.bat: -------------------------------------------------------------------------------- 1 | net stop MonitorService 2 | C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil /u ProcessMonitor.Service.exe 3 | pause -------------------------------------------------------------------------------- /ProcessMonitor.App/Presenters/IPresenter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ProcessMonitor.App.Presenters 8 | { 9 | 10 | public interface IPresenter 11 | { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ProcessMonitor.App/App.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Bb]in/ 2 | [Oo]bj/ 3 | [Dd]ebug/ 4 | [Rr]elease/ 5 | TestResults 6 | packages 7 | 8 | *.com 9 | *.dll 10 | *.exe 11 | *.pdb 12 | *.obj 13 | 14 | *.zip 15 | *.log 16 | 17 | *.mdf 18 | *.ldf 19 | *.suo 20 | *.vssscc 21 | *.vspscc 22 | *.psess 23 | *.vsp 24 | *.user 25 | *.nupkg 26 | *.nuspec 27 | *.diff 28 | *.design 29 | *.pfx 30 | 31 | Thumbs.db -------------------------------------------------------------------------------- /ProcessMonitor.Installer/Variables.wxi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ProcessMonitor.App/Views/IConnectView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ProcessMonitor.App.Views 8 | { 9 | 10 | public interface IConnectView : IView 11 | { 12 | 13 | string Server { get; set; } 14 | 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ProcessMonitor.App/Views/IView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using ProcessMonitor.App.Presenters; 7 | 8 | namespace ProcessMonitor.App.Views 9 | { 10 | 11 | public interface IView 12 | { 13 | 14 | IPresenter Presenter { get; set; } 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ProcessMonitor.App/Service References/MonitorService/Message1.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ProcessMonitor.App/Views/IAddToWatchView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ProcessMonitor.App.Views 8 | { 9 | 10 | public interface IAddToWatchView : IView 11 | { 12 | 13 | void SetAllProcesses(IEnumerable processes); 14 | string Process { get; set; } 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ProcessMonitor.Service/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.ServiceProcess; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace ProcessMonitor.Service 9 | { 10 | 11 | static class Program 12 | { 13 | 14 | static void Main() 15 | { 16 | ServiceBase.Run(new MonitorService()); 17 | } 18 | 19 | } 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /ProcessMonitor.App/Views/IMainView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using ProcessMonitor.App.ViewModels; 7 | 8 | namespace ProcessMonitor.App.Views 9 | { 10 | 11 | public interface IMainView : IView 12 | { 13 | 14 | void ShowError(string message); 15 | void SetWatchList(IEnumerable watchList); 16 | void SetTotalTime(string time); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ProcessMonitor.App/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | namespace ProcessMonitor.App.ViewModels 5 | { 6 | 7 | public abstract class ViewModelBase : INotifyPropertyChanged 8 | { 9 | 10 | public event PropertyChangedEventHandler PropertyChanged; 11 | 12 | protected virtual void OnPropertyChanged(string property) 13 | { 14 | if (PropertyChanged != null) 15 | PropertyChanged(this, new PropertyChangedEventArgs(property)); 16 | } 17 | 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /ProcessMonitor.App/Views/AboutView.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 |