Board Style 및 VbModal 시 작업표시줄에 표시..
Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const SW_HIDE = 0
Private Const SW_NORMAL = 1
Private Const WS_EX_APPWINDOW = &H40000
Private Const WS_SYSMENU As Long = &H80000
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Sub GsShowInTaskBar(hwnd As Long, Flag As Boolean)
On Error GoTo GsShowInTaskBar_Error
Dim WindowLong As Long
ShowWindow hwnd, SW_HIDE
WindowLong = GetWindowLong(hwnd, GWL_EXSTYLE)
If Flag = True Then
SetWindowLong hwnd, GWL_EXSTYLE, WindowLong Xor WS_EX_APPWINDOW
Else
SetWindowLong hwnd, GWL_EXSTYLE, WindowLong Or WS_EX_APPWINDOW
End If
ShowWindow hwnd, SW_NORMAL
' 시스템 메뉴 추가
WindowLong = GetWindowLong(hwnd, GWL_STYLE)
SetWindowLong hwnd, GWL_STYLE, WindowLong Or WS_SYSMENU
Exit Sub
GsShowInTaskBar_Error:
MsgBox Err.Description, vbCritical, "ModCommon1.GsShowInTaskBar()"
Exit Sub
End Sub
Private Sub Form_Load()
Call GsShowInTaskBar(Me.hwnd, True)
End Sub