internal WindowChangedEventArgs(IntPtr windowHandle, WinEventHook.WinEvent winEvent, WinEventHook.WinEventObjectId objectId) { WindowHandle = windowHandle; switch (winEvent) { case WinEventHook.WinEvent.EVENT_OBJECT_CREATE: Type = ChangeType.Create; break; case WinEventHook.WinEvent.EVENT_OBJECT_DESTROY: Type = ChangeType.Destroy; break; case WinEventHook.WinEvent.EVENT_OBJECT_SHOW: Type = ChangeType.Show; break; case WinEventHook.WinEvent.EVENT_OBJECT_HIDE: Type = ChangeType.Hide; break; case WinEventHook.WinEvent.EVENT_OBJECT_FOCUS: Type = ChangeType.Focus; break; case WinEventHook.WinEvent.EVENT_OBJECT_LOCATIONCHANGE: Type = ChangeType.LocationChange; break; default: // throw new ArgumentException("Unexpected WinEvent type", nameof(winEvent)); break; } switch (objectId) { case WinEventHook.WinEventObjectId.OBJID_SELF: ObjectId = ChangeObjectId.Self; break; case WinEventHook.WinEventObjectId.OBJID_CLIENT: ObjectId = ChangeObjectId.Client; break; case WinEventHook.WinEventObjectId.OBJID_CARET: ObjectId = ChangeObjectId.Caret; break; default: //Debug.Fail("Unexpected ObjectId"); ObjectId = ChangeObjectId.Unknown; break; } }
internal WindowChangedEventArgs(IntPtr windowHandle, ChangeType changeType, ChangeObjectId objectId) { WindowHandle = windowHandle; Type = changeType; ObjectId = objectId; }