From e3f075edccca14ba8df0c41f5bf41257179816d1 Mon Sep 17 00:00:00 2001 From: noberumotto Date: Fri, 2 Dec 2022 16:34:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=94=E7=94=A8=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E4=BA=8B=E4=BB=B6=E6=95=B0=E6=8D=AE=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Event/ObserverEventHandler.cs | 5 ++-- .../AppObserver/AppObserverEventArgs.cs | 28 +++++++++++++++++++ Core/Servicers/Instances/AppObserver.cs | 9 +++--- 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 Core/Models/AppObserver/AppObserverEventArgs.cs diff --git a/Core/Event/ObserverEventHandler.cs b/Core/Event/ObserverEventHandler.cs index fc1f13d..b36d326 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 0000000..47c5031 --- /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 ed9d4e4..c74d57a 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() -- GitLab