Window flasher - Bir forma dikkat çekme, yanıp söndürme

Code

Son yazılar

Window flasher - Bir forma dikkat çekme, yanıp söndürme
Murat Mehmet 0
31.12.2014 Çarşamba 12:30
shadow
    [StructLayout(LayoutKind.Sequential)]
    public struct FLASHWINFO
    {
        public UInt32 cbSize;
        public IntPtr hwnd;
        public UInt32 dwFlags;
        public UInt32 uCount;
        public UInt32 dwTimeout;
    }

    public enum FlashWindowFlag : uint
    {
        /// <summary>
        /// Stop flashing. The system restores the window to its original state. 
        /// </summary>    
        FLASHW_STOP = 0,

        /// <summary>
        /// Flash the window caption 
        /// </summary>
        FLASHW_CAPTION = 1,

        /// <summary>
        /// Flash the taskbar button. 
        /// </summary>
        FLASHW_TRAY = 2,

        /// <summary>
        /// Flash both the window caption and taskbar button.
        /// This is equivalent to setting the FLASHW_CAPTION | FLASHW_TRAY flag. 
        /// </summary>
        FLASHW_ALL = 3,

        /// <summary>
        /// Flash continuously, until the FLASHW_STOP flag is set.
        /// </summary>
        FLASHW_TIMER = 4,

        /// <summary>
        /// Flash continuously until the window comes to the foreground. 
        /// </summary>
        FLASHW_TIMERNOFG = 12
    }
    public static class WindowFlasher
    {
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool FlashWindowEx(ref FLASHWINFO pwfi);

        public static bool FlashWindow(IntPtr hWnd, FlashWindowFlag flag)
        {
            FLASHWINFO fInfo = new FLASHWINFO();

            fInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(fInfo));
            fInfo.hwnd = hWnd;
            fInfo.dwFlags = (uint)flag;
            fInfo.uCount = UInt32.MaxValue;
            fInfo.dwTimeout = 0;

            return FlashWindowEx(ref fInfo);
        }

        public static bool FlashWindow(Form frm)
        {
            return FlashWindow(frm.Handle, FlashWindowFlag.FLASHW_ALL | FlashWindowFlag.FLASHW_TIMERNOFG);
        }
    }

Kullanım:

//frm = dikkat çekilecek Form
WindowFlasher.FlashWindow(frm);

 

Yazar

Murat Mehmet
Murat Mehmet

Yaklaşık 10 yılını kod yazmaya adamış, ama hala öğrenecek çook şeyin olduğunun farkında olan biriyim. Çok yanlış yapmışım, meğer bu hayatta tasarımcı olmak varmış :P

Yorumlar

İlk yorumu siz girin.

Yorum Yazın