Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: получить дескрипторы чужого окна. Добавлено: 02.06.10 14:16  

Автор вопроса:  Arseny | ICQ: 298826769 
VB6. открыл окно чужой проги, получил его hwnd. на этой форме есть два текстбокса. надо получить их hwnd.
так понимаю, надо через EnumChildWindows вроде. кто-нибудь даст пример, как найти окна определенного класса на указанном родителе?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #1 Добавлено: 02.06.10 16:44
я таким способом пользовался когда не мог пулучить хэндлы текстбоксов, принцип думаю ясен...
а вообще если проблем с хэндлом нет - ищешь сначала через FindWindow родительское окно и используя уже найденый хэндл ищешь дочерние окна через FindWindowEx

в форму
  1.  
  2. lhwnd = FindWindow("Class", "Name")
  3.     If lhwnd > 0 Then
  4.         EnumChildWindows lhwnd, AddressOf ChildWindowProc, 0
  5.         If lCount = 6 Then
  6.             If GetWindowText(M5) <> vbNullString Then end
  7.         End If
  8.     End If



в модуль
  1.  
  2. Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
  3. Public M() As String
  4. Public lCount As Long
  5. Public Function ChildWindowProc(ByVal hwnd As Long, ByVal lp As Long) As Long
  6. On Error Resume Next
  7. lCount = lCount + 1
  8. M(lCount) = hwnd
  9. ChildWindowProc = 1
  10. End Function

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 03.06.10 23:17
сенк. допер через EnumChildWindows и GetClassName

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам