Public Sub WorkWithApiErr() Dim Res As Long Dim capt As String 'Заголовок Dim HandleW As Long 'Описатель окна 'Поиск окна по заголовку capt = "DocOne6 - Microsoft Word" ArCapt = capt & vbNullChar Debug.Print ArCapt HandleW = FindWindowW(0&, ArCapt(0)) If HandleW > 0 Then 'OK Debug.Print HandleW Else: MsgBox ("Не могу корректно вызвать UniCode FindWindowW") If Err.LastDllError = ERROR_INVALID_NAME Then Debug.Print "Не корректно задано имя при вызове Unicode FindWindowW функции!" End If End If 'Еще один эксперимент: вначале получим заголовок активного окна, 'затем найдем окно по заголовку, работая в Unicode кодировке. HandleW = GetActiveWindow() 'Получить заголовок окна ArCapt = VBA.String$(128, vbNullChar) Res = GetWindowText(HandleW, ArCapt(0), 128) If Res > 0 Then 'OK Debug.Print ArCapt Else: MsgBox ("не получен заголовок окна") End If ArCapt = VBA.Left(ArCapt, Res) HandleW = FindWindowW(0&, ArCapt(0)) If HandleW > 0 Then 'OK Debug.Print HandleW Else: MsgBox ("Не могу корректно вызвать UniCode FindWindowW") If Err.LastDllError = ERROR_INVALID_NAME Then Debug.Print "Не корректно задано имя при вызове Unicode FindWindowW функции!" End If End If End Sub |
Пример 6.6. |
Закрыть окно |