基本上我做了控制台应用程序执行一些需要几分钟的任务.我想让它在任务栏闪烁,让我知道什么时候完成它的事情.
解决方法
使用
answer that @Zack posted和
another one to find the handle of a console app我想出了这个,它的作品很棒.
class Program { [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 Int32 dwTimeout; } public const UInt32 FLASHW_ALL = 3; static void Main(string[] args) { Console.WriteLine("Flashing NOW"); FlashWindow(Process.GetCurrentProcess().MainWindowHandle); Console.WriteLine("Press any key to continue"); Console.ReadKey(); } private static void FlashWindow(IntPtr hWnd) { FLASHWINFO fInfo = new FLASHWINFO(); fInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(fInfo)); fInfo.hwnd = hWnd; fInfo.dwFlags = FLASHW_ALL; fInfo.uCount = UInt32.MaxValue; fInfo.dwTimeout = 0; FlashWindowEx(ref fInfo); } }