ウィンドウが非アクティブの時にタスクバーで点滅させる

.NET Framework のクラスライブラリではタスクバーでの明滅が提供されていない(Form.Activate() は非アクティブの時呼ぶとウィンドウが再前面になる)ため、Win32API の FlashWindow() を利用します。

using System.Windows.Forms;
using System.Runtime.InteropServices;
 
public class Form1 : Form {
    // 点滅用 Win32API のインポート
    [DllImport(“user32.dll”)]
    private static extern bool FlashWindow(IntPtr hwnd, bool bInvert);
    public static void FlashWindow(System.Windows.Forms.Form window) {
        FlashWindow(window.Handle, false);
    }
     
    // ウィンドウを点滅させる
    // (ウィンドウがアクティブな時は何もおこらない)
    private void ExecExample(){
        FlashWindow(this);
    }
}

 
参考:
FlashWindow(user32)(pinvoke.net)
Win32 APIやDLL関数を呼び出すには?(@IT)