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. |
| Закрыть окно |