.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)