윈도우 창에서 작업표시줄에있는 아이콘을 깜짝이게 하는 방법입니다.
아래 코드는 응용프로그램을 최소화시킨 경우 작업표시줄에서 깜빡이도록 합니다.
using System.Runtime.InteropServices;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public const int FLASHW_STOP = 0;
public const int FLASHW_ALL = 3;
[StructLayout(LayoutKind.Sequential)]
public struct FLASHWINFO
{
public int cbSize;
public IntPtr hwnd;
public int dwFlags;
public int uCount;
public int dwTimeout;
}
[DllImport("user32.dll")]
static extern bool FlashWindowEx(ref FLASHWINFO pwfi);
public Form1()
{
InitializeComponent();
}
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
Flash(false);
}
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
if (this.WindowState == FormWindowState.Minimized)
{
Flash(true);
}
}
private void Flash(bool flashed)
{
FLASHWINFO fi = new FLASHWINFO();
fi.cbSize = Marshal.SizeOf(typeof(FLASHWINFO));
fi.hwnd = this.Handle;
fi.dwFlags = flashed ? FLASHW_ALL : FLASHW_STOP;
fi.uCount = 10;
fi.dwTimeout = 500;
FlashWindowEx(ref fi);
}
}
}
결과 ( 최소화가 된경우)
깜빡임을 통해 아직 작업 처리가 덜 되어있다는 알림을 지속적으로 줄수 있습니다.
또한 다른 알림용도로도 사용할수 있습니다.
C# .NET6 에서 Active Directory Authentication 사용하기 (0) | 2024.04.23 |
---|---|
C# WebView2 설치여부에 따라 설치되도록 처리하기 (0) | 2024.04.22 |
C# HEIC 파일 PNG 로 변환하기 (0) | 2024.04.14 |
C# LINQ Zip 을 이용해 3개 List 번갈아 섞기 (0) | 2024.04.03 |
C# 두 List 를 번갈아 섞기 - LINQ ZIP (0) | 2024.04.02 |