Функция определения хэндла ЭУ WebBrowser - VB
Формулировка задачи:
Вот функция определения хэндла ЭУ WebBrowser (работает из предположения, что на форме есть только ОДИН такой контрол):
В одном VB-проекте GetWindow находит окно 'Shell Embedding', а в другом - нет, хотя на форме ЭУ WebBrowser тоже есть! Пробовал перенести вызов этой функции из Form_Load в Form_Click (мало ли!) - по фигу: не находит - и всё тут!
При всём при этом в ОБОИХ проектах ЭУ WebBrowser ЕСТЬ, что подтверждается через Spy++.
Какие есть идеи?!
PS: искать окно 'Internet Explorer_Server' - не предлагать!
Листинг программы
- Private Function GetWebBrowserHWND() As Long
- Dim retVal As Long
- Dim result As Long
- Dim hWndChild As Long
- Dim classString As String * 256
- hWndChild = GetWindow(Me.hwnd, GW_CHILD)
- While (result = 0) And (hWndChild <> 0)
- hWndChild = GetWindow(hWndChild, GW_HWNDNEXT)
- If hWndChild <> 0 Then
- retVal = GetClassName(hWndChild, classString, 256)
- ' Debug.Print classString
- If Left$(classString, InStr(classString, Chr$(0)) - 1) = 'Shell Embedding' Then result = 1
- End If
- Wend
- GetWebBrowserHWND = hWndChild
- End Function
Решение задачи: «Функция определения хэндла ЭУ WebBrowser»
textual
Листинг программы
- Private Function GetWebBrowserHWND() As Long
- GetWebBrowserHWND = FindWindowEx(Me.hwnd, ByVal 0&, 'Shell Embedding', vbNullString)
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д