Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As LongPrivate Sub Command1_Click()
    Dim wPos As POINTAPI
    Dim cmdPos As POINTAPI
    
    ClientToScreen Form1.hwnd, wPos
    cmdPos.x = Command1.Left + wPos.x * Screen.TwipsPerPixelX
    cmdPos.y = Command1.Top + wPos.y * Screen.TwipsPerPixelY
    Form2.Move cmdPos.x, cmdPos.y
    Form2.Show
End Sub