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

Posted by koinit
,