'APIs e variáveis usadas:
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
Y As Long
End Type
Private m_InitialCursorPos As POINTAPI
No show do seu form (form_load ou outro local):
'Colocar o cursor do mouse em cima do botão executar
Call GetCursorPos(m_InitialCursorPos)
Call SetCursorPos((frmTeste.cmdOk.Left + frmTeste.Left + (frmTeste.cmdOk.Width / 2)) / Screen.TwipsPerPixelX, (frmTeste.cmdOk.Top + frmTeste.Top + (frmTeste.Height - frmTeste.ScaleHeight) + (frmTeste.Height / 2)) / Screen.TwipsPerPixelY)
Use isto apos ter sido fechado ou escondido o form:
'Volta o cursor do mouse p/ a tela onde o Registro teve a abertura invocada
Call SetCursorPos(m_InitialCursorPos.x, m_InitialCursorPos.Y)
Falow
