Winform任务栏闪烁

 [DllImport("user32.dll")]
        public static extern bool FlashWindow(IntPtr hWnd, bool bInvert);

调用

FlashWindow(this.Handle, true)// true为闪烁

窗体处于活动是调用 

   if (Form.ActiveForm != this)
                {
                   

          FlashWindow(this.Handle, true)// true为闪烁

                }

另外的线程调用时

    if (Form.ActiveForm != this)
                {
                    InvokeProxyMethod.ProxyMethod(this, this, "CallFlashWindow", null);
                }

using System;
using System.Reflection;
using System.Windows.Forms;

namespace Utility
{
delegate object CallInvokeProxyMethod(Control invokeControl, object invokeObject, string method, object[] parameters);
public static class InvokeProxyMethod
{
public static object ProxyMethod(Control invokeControl, object invokeObject, string method, object[] parameters)
{
if (invokeControl.InvokeRequired)
{
CallInvokeProxyMethod d = ProxyMethod;
return invokeControl.Invoke(d, new object[] { invokeControl, invokeObject, method, parameters });
}
else
{
Type t = invokeObject.GetType();

MethodInfo mi = t.GetMethod(method);//获取指定方法
return mi.Invoke(invokeObject, parameters);//调用实例方法

}
}
}
}
原文地址:https://www.cnblogs.com/jiebian/p/2364994.html