Поясню: в своей программе я сделал ограничение на количество запущенных копий через процедуру
- Код: Выделить всё
Sub CheckCopyApp()
Dim sTitle As String
Dim hWnd As Long
Dim lRetVal As Long
If App.PrevInstance Then
sTitle = Me.Caption
App.Title = "Новая копия"
Me.Caption = "Новая копия"
hWnd = FindWindow(vbNullString, sTitle)
If hWnd <> 0 Then
lRetVal = ShowWindow(hWnd, SW_RESTORE)
lRetVal = SetForegroundWindow(hWnd)
lRetVal = SetActiveWindow(hWnd)
End If
End
End If
End Sub
Таким образом при запуске второй копии активизируется первая копия.
Но если первая копия свёрнута в трей, то после активизации окна первой копии, иконку в трее не могу удалить.
Хотел сделать удаление в
Form_Activate - не удаляет.
Вообще туда даже не заглядывает.
Как отследить, что форма развёрнута из трея другой программой - пославшей ей ShowWindow form_hwnd, SW_RESTORE ?