Hola coco, ami me aparece, osea no se si es que vos queres hacer un setparent, (hay una ventana mas MSTaskListWClass pero parece que da lo mismo)
por las dudas proba con asi con un Picture1
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong 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 SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_EXSTYLE = -20
Public Sub AddToTaskBar(ByVal hwnd As Long)
Dim lStyle As Long
Dim lResult As Long
Dim lHook As Long
Dim lTrayhWnd As Long
Dim lTBhWnd As Long
Dim lTaskList As Long
lStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
lResult = SetWindowLong(hwnd, GWL_EXSTYLE, lStyle Or WS_EX_APPWINDOW)
lHook = RegisterWindowMessage("SHELLHOOK")
lTrayhWnd = FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString)
If lTrayhWnd Then
lTBhWnd = FindWindowEx(lTrayhWnd, 0, "RebarWindow32", vbNullString)
If lTBhWnd Then
lTBhWnd = FindWindowEx(lTBhWnd, 0, "MSTaskSwWClass", vbNullString)
If lTBhWnd Then
lTaskList = FindWindowEx(lTBhWnd, 0, "MSTaskListWClass", vbNullString)
If lTaskList Then
lResult = PostMessage(lTaskList, lHook, 1, ByVal hwnd)
SetParent hwnd, lTaskList
End If
End If
End If
End If
End Sub
Private Sub Form_Load()
Picture1.Move 0, 50
AddToTaskBar Picture1.hwnd
End Sub
Private Sub Picture1_Click()
Unload Me
End Sub