/// <summary>
        /// Creates a new <see cref="WindowMonitor"/> instance.
        /// </summary>
        public WindowMonitor(int interval)
        {
            guiThreadInfo_        = new SafeNativeMethods.GUITHREADINFO();
            guiThreadInfo_.cbSize = Marshal.SizeOf(guiThreadInfo_);

            interval_  = TimeSpan.FromMilliseconds(interval);
            eventMask_ = GuiEventTypes.All;
            ResetState_();
        }
        private bool ReportExpired_(ref IntPtr curwh, IntPtr newwh, GuiEventTypes guiEvent)
        {
            if (curwh == newwh)
            {
                return(false);
            }

            FireWindowEvent_(IntPtr.Zero != curwh, guiEvent, curwh);
            curwh = newwh;

            return(IntPtr.Zero != curwh);
        }
 private void FireWindowEvent_(bool pred, GuiEventTypes eventType, IntPtr wh)
 {
     if (pred && null != GuiEvent && (0 != (eventMask_ & eventType)))
     {
         try
         {
             GuiEvent(this, new WindowEventArgs(DateTimeOffset.Now, eventType, wh));
         }
         catch
         {
         }
     }
 }
Example #4
0
 /// <summary>
 /// Creates a new <see cref="KeyboardEventArgs"/> instance.
 /// </summary>
 public KeyboardEventArgs(
     DateTimeOffset timestamp,
     GuiEventTypes eventType,
     Keys key,
     Keys modifiers,
     char character = (char)0)
     : base(timestamp, eventType)
 {
     Handled   = false;
     Key       = key;
     Modifiers = modifiers;
     Char      = character;
 }
Example #5
0
 /// <summary>
 /// Creates a new <see cref="MouseEventArgs"/> instance.
 /// </summary>
 public MouseEventArgs(
     DateTimeOffset timestamp,
     GuiEventTypes eventType,
     MouseButtons button,
     int clicks,
     int x,
     int y,
     int delta)
     : base(timestamp, eventType)
 {
     Button = button;
     Clicks = clicks;
     X      = x;
     Y      = y;
     Delta  = delta;
 }
 /// <summary>
 /// Creates a new <see cref="GuiEventArgs"/> instance.
 /// </summary>
 public GuiEventArgs(DateTimeOffset timestamp, GuiEventTypes eventType)
 {
     EventType = eventType;
     Timestamp = timestamp;
 }
Example #7
0
 /// <summary>
 /// Creates a <see cref="WindowEventArgs"/> instance.
 /// </summary>
 public WindowEventArgs(DateTimeOffset timestamp, GuiEventTypes eventType, IntPtr handle)
     : base(timestamp, eventType)
 {
     Window = handle;
 }
Example #8
0
 /// <summary>
 /// Returns <c>true</c> if and only if the input event is masked by the event mask.
 /// </summary>
 private bool IsEventEnabled_(GuiEventTypes e)
 {
     return(e == (e & eventMask_));
 }