diff --git a/Core/Event/ObserverEventHandler.cs b/Core/Event/ObserverEventHandler.cs index fc1f13de432081f5bded0184623b7c0e91d96b3c..b36d326a97138b51bc18b9a0a0016dc8414d6987 100644 --- a/Core/Event/ObserverEventHandler.cs +++ b/Core/Event/ObserverEventHandler.cs @@ -1,4 +1,5 @@ -using System; +using Core.Models.AppObserver; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,5 +7,5 @@ using System.Threading.Tasks; namespace Core.Event { - public delegate void ObserverEventHandler(string processName, string description, string file); + public delegate void ObserverEventHandler(AppObserverEventArgs args); } diff --git a/Core/Models/AppObserver/AppObserverEventArgs.cs b/Core/Models/AppObserver/AppObserverEventArgs.cs new file mode 100644 index 0000000000000000000000000000000000000000..47c50318d5d256c5a2b966246fe7543bdf6dacd1 --- /dev/null +++ b/Core/Models/AppObserver/AppObserverEventArgs.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Core.Models.AppObserver +{ + public class AppObserverEventArgs + { + private IntPtr _handle; + private string _processName; + private string _description; + private string _file; + + public string ProcessName { get { return _processName; } } + public string Description { get { return _description; } } + public string File { get { return _file; } } + public IntPtr Handle { get { return _handle; } } + public AppObserverEventArgs(string processName, string description, string file, IntPtr handle) + { + _processName = processName; + _description = description; + _file = file; + _handle = handle; + } + } +} diff --git a/Core/Servicers/Instances/AppObserver.cs b/Core/Servicers/Instances/AppObserver.cs index ed9d4e48cb93c9533136d777c049f2b0f472df56..c74d57a0ccd357cb767a09af70fb3431bee0dc55 100644 --- a/Core/Servicers/Instances/AppObserver.cs +++ b/Core/Servicers/Instances/AppObserver.cs @@ -1,5 +1,6 @@ using Core.Event; using Core.Librarys; +using Core.Models.AppObserver; using Core.Servicers.Interfaces; using System; using System.Collections.Generic; @@ -40,7 +41,6 @@ namespace Core.Servicers.Instances private async void Handle(IntPtr hwnd) { - Debug.WriteLine(hwnd); string processName = String.Empty, processFileName = String.Empty, processDescription = String.Empty; var processResult = await Task.Run(() => @@ -102,7 +102,7 @@ namespace Core.Servicers.Instances return processName; }); - EventInvoke(processName, processDescription, processFileName); + EventInvoke(processName, processDescription, processFileName, hwnd); } /// @@ -170,9 +170,10 @@ namespace Core.Servicers.Instances } return new string[] { processName, processFileName, processID.ToString() }; } - private void EventInvoke(string processName, string description, string filename) + private void EventInvoke(string processName, string description, string filename, IntPtr handle) { - OnAppActive?.Invoke(processName, description, filename); + var args = new AppObserverEventArgs(processName, description, filename, handle); + OnAppActive?.Invoke(args); } public void Stop()