Beispiel #1
0
        public bool SetCallback(string name, EnumCallback type, Action <object, EventArgs> callback)
        {
            var control = Ui.GetItem(name);

            if (control != null)
            {
                switch (type)
                {
                case EnumCallback.ON_GAIN_FOCUS:
                    control.OnGainFocus += new EventHandler <EventArgs>(callback);
                    break;

                case EnumCallback.ON_LOST_FOCUS:
                    control.OnLostFocus += new EventHandler <EventArgs>(callback);
                    break;

                case EnumCallback.ON_HOVER_START:
                    control.OnHoverStart += new EventHandler <EventArgs>(callback);
                    break;

                case EnumCallback.ON_HOVER_END:
                    control.OnHoverEnd += new EventHandler <EventArgs>(callback);
                    break;

                case EnumCallback.ON_VALUE_CHANGE:
                    control.OnValueChange += new EventHandler <EventArgs>(callback);
                    break;
                }

                return(true);
            }

            return(false);
        }
 /// <summary>
 /// Enumerates all windows synchronously and applies the given callback
 /// until it returns false or the end is reached.
 /// </summary>
 /// <param name="callback">The callback to apply to each window.</param>
 public static void ForEach(EnumCallback callback)
 {
     EnumWindows((hWnd, lParam) =>
     {
         if (!IsWindow(hWnd))
         {
             // skip this
             return(true);
         }
         return(callback(new WindowInfo(hWnd)));
     }, IntPtr.Zero);
 }
Beispiel #3
0
        public static Monitor[] GetMonitors()
        {
            List <Monitor> _monitors = new List <Monitor>();

            EnumCallback _callback = (IntPtr hMonitor, IntPtr hdc, ref RECT pRect, int dwData) =>
            {
                _monitors.Add(GetMonitor(hMonitor));

                return(true);
            };

            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, _callback, 0);

            return(_monitors.OrderByDescending(m => m.IsPrimary).ToArray());
        }
Beispiel #4
0
 public static extern bool EnumWindows(EnumCallback lpEnumFunc, IntPtr lParam);
Beispiel #5
0
 public static extern int EnumDesktopWindows(IntPtr hdesktop, EnumCallback cb, ref object param);