protected void WinEventCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == NotepadhWnd && eventType == Hook.SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (Hook.SWEH_ObjectId)Hook.SWEH_CHILDID_SELF) { WinApi.RECT rect = Hook.GetWindowRect(hWnd); this.Location = new Point(rect.Right, rect.Top); } }
protected void WinEventCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { // 仅游戏窗口获取焦点时会调用 //if (hWnd == GameInfo.Instance.hWnd && // eventType == Hook.SWEH_Events.EVENT_OBJECT_FOCUS) //{ // log.Info("Game window get foucus"); //} // 更新窗口信息 if (hWnd == gameHWnd && eventType == Hook.SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (Hook.SWEH_ObjectId)Hook.SWEH_CHILDID_SELF) { SetLocation(); } }
protected void WinEventCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == poeHandle && eventType == Hook.SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (Hook.SWEH_ObjectId)Hook.SWEH_CHILDID_SELF) { // Occurs when POE window is moved or size changed CheckAndUpdate(); UpdateLocationAndSize(); } }
protected void WinEventCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == poeHandle && eventType == Hook.SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (Hook.SWEH_ObjectId)Hook.SWEH_CHILDID_SELF) { UpdateLocation(); } }
// Event callback to detect when any window has been been the new foreground protected void WinEventForegroundCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == _targetHWnd && eventType == Hook.SWEH_Events.EVENT_SYSTEM_FOREGROUND) { this.Visible = true; } else { this.Visible = false; } }
// Event callback to detect when the target window has moved protected void WinEventMoveCallback(IntPtr hWinEventHook, Hook.SWEH_Events eventType, IntPtr hWnd, Hook.SWEH_ObjectId idObject, long idChild, uint dwEventThread, uint dwmsEventTime) { if (hWnd == _targetHWnd && eventType == Hook.SWEH_Events.EVENT_OBJECT_LOCATIONCHANGE && idObject == (Hook.SWEH_ObjectId)Hook.SWEH_CHILDID_SELF) { _rect = Hook.GetWindowRect(_targetHWnd); this.Size = new Size(_rect.Right - _rect.Left, _rect.Bottom - _rect.Top); this.Location = new Point(_rect.Left, _rect.Top); } }