Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Public Sub PinToDesktop(FormToPin As Form)
Dim progman As Long
progman = FindWindow("progman", vbNullString)
SetParent FormToPin.hWnd, progman
End Sub
Public Sub UnPinFromDesktop(FormToUnPin As Form)
Dim lngExplorer As Long
lngExplorer = FindWindow("ExploreWClass", vbNullString)
SetParent FormToUnPin.hWnd, lngExplorer
End Sub
这里改了下
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Public Sub PinToDesktop(FormToPin As Form)
Dim progman As Long
progman = FindWindow("progman", vbNullString)
SetParent FormToPin.hWnd, progman
End Sub
Private Sub Command1_Click()
Call PinToDesktop(Form1)
End Sub