Подскажите пожалуйста как сделать так, чтобы моя форма на VB (например Form1.exe) подвешивалась к программе Word или к-л другой программе (например к нижнему правому углу) и соответственно при любых перемещениях окна Word форма тоже должна перемещаться.
Я просмотрел несколько сайтов и единственное что мне удалось это прикрепить одну форму к другой, но прикрепить форму к Word-у не удалось!!!
Form1 к form2 я прикрепил следующим образом:
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_MOVE = &H3
Public Const GWL_WNDPROC = -4
Public glPrevWndProc As Long
Public Function pMyWindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg = WM_MOVE And Form1.WindowState = vbNormal Then
Form2.Move Form1.Left - 1000, Form1.Top - 2500
End If
pMyWindowProc = CallWindowProc(glPrevWndProc, hw, uMsg, wParam, lParam)
End Function
Private Sub Form_Load()
Form2.Show
Form1.Show
glPrevWndProc = SetWindowLong(Form1.hWnd, GWL_WNDPROC, AddressOf pMyWindowProc)
End Sub
Но мне то нужно форму прикрепить не к другой форме, а Word-у!!!
Затем я нашел hwnd окна Word следующим способом:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim FFF As Long
FFF = FindWindow(OpusApp, vbNullString)
А ввиду того что VB я владею далеко не в совершенстве, то на этом у меня всё заглохло!!!
Подскажите что делать дальше (а лучше пришлите код, если не трудно).