新建工程,在窗体中添加一个Timer控件。然后Copy以下代码到代码窗体中。最后移动鼠标试试。 Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End TypeSub initForm() Me.Left = Screen.Width - 100 Me.Top = 0 End SubSub CenterForm() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End SubPrivate Sub Form_Load() Me.BackColor = vbRed initForm End SubPrivate Sub Timer1_Timer() ' 获取鼠标的位置 Dim ptCur As POINTAPI Dim lngLength As Long
lngLength = GetCursorPos(ptCur) If lngLength <> 0 Then With ptCur If .x <= 1 Or .y <= 1 Or _ .x >= Screen.Width / Screen.TwipsPerPixelX - 1 Or _ .y >= Screen.Height / Screen.TwipsPerPixelY - 1 Then
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End TypeSub initForm()
Me.Left = Screen.Width - 100
Me.Top = 0
End SubSub CenterForm()
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2
End SubPrivate Sub Form_Load()
Me.BackColor = vbRed
initForm
End SubPrivate Sub Timer1_Timer()
' 获取鼠标的位置
Dim ptCur As POINTAPI
Dim lngLength As Long
lngLength = GetCursorPos(ptCur)
If lngLength <> 0 Then
With ptCur
If .x <= 1 Or .y <= 1 Or _
.x >= Screen.Width / Screen.TwipsPerPixelX - 1 Or _
.y >= Screen.Height / Screen.TwipsPerPixelY - 1 Then
Me.Hide
CenterForm
Me.Show
Else
initForm
End If
End With
End If
End Sub