VB :: Code & APIs

[VB.NET] 비주얼베이직 .NET 에서 FlashWindow 함수 사용하기

안녕하세요?
특정한 채팅 앱처럼 창에 어떠한 명령이나 반응이 일어나는 경우 작업표시줄의 아이콘을 깜빡일 수 있는 API를 소개해 드리고자 합니다.

 

Public Structure FLASHWINFO
	Public cbSize As Int32
	Public hwnd As IntPtr
	Public dwFlags As Int32
	Public uCount As Int32
	Public dwTimeout As Int32
End Structure

Private Declare Function FlashWindowEx Lib "user32.dll" (ByRef pfwi As FLASHWINFO) As Int32

Public Const FLASHW_STOP = 0
' 깜빡이는 것을 중지한 채, 창의 상태를 초기화 시킵니다.
Public Const FLASHW_CAPTION = &H1
' 해당 창만 깜빡입니다.
Public Const FLASHW_TRAY = &H2
' 작업표시줄의 아이콘만 깜빡입니다.
Public Const FLASHW_ALL = &H3
' 작업표시줄의 아이콘과 해당 창 전체를 함께 깜빡입니다.
Public Const FLASHW_TIMER = &H4
' 중지명령을 정해줄 때 까지 지속적으로 깜빡입니다.
Public Const FLASHW_TIMERNOFG = &HC
' 창이 활성화 되기 전까지 지속적으로 깜빡입니다.

Public Sub FlashIcon(ByVal Handle%, ByVal Flags%)
Dim flash As New FLASHWINFO
	flash.cbSize = System.Runtime.InteropServices.Marshal.SizeOf(flash)
	'/// 구조체의 크기를 Byte 단위로 지정하여 줍니다.
	flash.hwnd = Handle
	'///어떠한 창 (Form) 을 깜박일 지 지정합니다.
	flash.dwFlags = Flags
	flash.dwTimeout = 500
	'/// 깜빡이는 속도를 지정합니다. (값이 '0' 이면 기본 값으로 지정됩니다.)
	FlashWindowEx(flash)
	'/// 창이나 작업표시줄의 아이콘을 깜빡입니다.
End Sub

 

사용하실 때에는 다음과 같이 사용하실 수 있습니다.

 

FlashIcon(MyBase.Handle, FLASHW_TRAY + FLASHW_TIMERNOFG)

 

고맙습니다.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s