powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?
3 сообщений из 3, страница 1 из 1
Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?
    #34612500
eugene2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?


Dim lHandle As Long
lHandle = GetHandle(ie)
MsgBox lHandle

module
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private lngWebHandle As Long



Public Function GetHandle(ByVal WebControl As WebBrowser) As Long
lngWebHandle = 0
EnumChildWindows WebControl.Parent.hWnd, AddressOf EnumChildProc, ByVal 0&
GetHandle = lngWebHandle
End Function


Private Function EnumChildProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
Dim lngReturnValue As Long, strClassName As String
strClassName = Space(256)
lngReturnValue = GetClassName(hWnd, strClassName, 256)
If Left$(strClassName, lngReturnValue) = "Internet Explorer_Server" Then
lngWebHandle = hWnd
End If
EnumChildProc = 1
End Function
...
Рейтинг: 0 / 0
Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?
    #34612536
cabcem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через DOM. Объекты внутри окна браузера не имеют HWND. Запустите spyxx - и убедитесь.
...
Рейтинг: 0 / 0
Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?
    #34612869
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Option Explicit
Private Type UUID
   Data1 As Long
   Data2 As Integer
   Data3 As Integer
   Data4( 0  To  7 ) As Byte
End Type

Private Const SMTO_ABORTIFHUNG = &H2
Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long
Private Declare Function SendMessageTimeout Lib "user32" Alias "SendMessageTimeoutA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal fuFlags As Long, ByVal uTimeout As Long, lpdwResult As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, riid As UUID, ByVal wParam As Long, ppvObject As Any) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long

Private wnds As Collection

Public Function IEDOMFromhWnd(ByVal hwnd As Long) As IHTMLDocument
Dim IID_IHTMLDocument As UUID
Dim hWndChild As Long
Dim lRes As Long
Dim lMsg As Long
Dim hr As Long
    lMsg = RegisterWindowMessage("WM_HTML_GETOBJECT")
    SendMessageTimeout GetUrlWindow(hwnd, , "Internet Explorer_Server"), lMsg,  0 ,  0 , SMTO_ABORTIFHUNG,  1000 , lRes
    If lRes Then
        With IID_IHTMLDocument
            .Data1 = &H626FC520
            .Data2 = &HA41E
            .Data3 = &H11CF
            .Data4( 0 ) = &HA7
            .Data4( 1 ) = &H31
            .Data4( 2 ) = &H0
            .Data4( 3 ) = &HA0
            .Data4( 4 ) = &HC9
            .Data4( 5 ) = &H8
            .Data4( 6 ) = &H26
            .Data4( 7 ) = &H37
        End With
        hr = ObjectFromLresult(lRes, IID_IHTMLDocument,  0 , IEDOMFromhWnd)
    End If
End Function
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нашёл код обнаруживающий HWND окна броузер контрола, а как обнаружить его iframes, frames?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]