C#实现任务栏闪烁

 

private void FlashIt()
{
 FLASHWINFO fi = new FLASHWINFO();
 fi.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(fi);
 fi.hwnd = Handle;
 fi.dwFlags = FLASHW_TRAY;
 fi.uCount = 3;
 fi.dwTimeout = 0;
 FlashWindowEx(ref fi);

 

}

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool FlashWindowEx(ref FLASHWINFO pwfi);

[StructLayout(LayoutKind.Sequential)]
public struct FLASHWINFO
{
 public UInt32 cbSize;
 public IntPtr hwnd;
 public UInt32 dwFlags;
 public UInt32 uCount;
 public UInt32 dwTimeout;

 

}

//Stop flashing. The system restores the window to its original state.
public const UInt32 FLASHW_STOP = 0;
//Flash the window caption.
public const UInt32 FLASHW_CAPTION = 1;
//Flash the taskbar button.
public const UInt32 FLASHW_TRAY = 2;
//Flash both the window caption and taskbar button.
//This is equivalent to setting the FLASHW_CAPTION | FLASHW_TRAY flags.
public const UInt32 FLASHW_ALL = 3;
//Flash continuously, until the FLASHW_STOP flag is set.
public const UInt32 FLASHW_TIMER = 4;
//Flash continuously until the window comes to the foreground.
public const UInt32 FLASHW_TIMERNOFG = 12;

你可能感兴趣的:(任务,c#,timer,struct,system,user)