Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Вопрос по hwnd. Добавлено: 29.06.03 14:13  

Автор вопроса:  Casper

Я знаю hwnd окна. В этом окне есть Label с текстом, который мне нужен.Как мне узнать хотя бы hwnd  Label.

Ответить

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

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



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #1 Добавлено: 29.06.03 15:02
есть такая ф-я кака FindWindowEx

Ответить

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



Вопросов: 38
Ответов: 28
 Профиль | | #2 Добавлено: 29.06.03 15:49

А как именно ей пользоваться падскажешь?

Ответить

Номер ответа: 3
Автор ответа:
 Ян



ICQ: 816105 

Вопросов: 38
Ответов: 198
 Web-сайт: www.yan.net.ru
 Профиль | | #3
Добавлено: 29.06.03 19:26
http://www.vbkoders.net.ru/info/info.asp?type=articles&id=68

Ответить

Номер ответа: 4
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 29.06.03 19:39

Можно ещё Использовать EnumChildWindows и GetClassName

Тебе нужно: окно(2 кнопки и Список), модуль
Список должен иметь Name=lstOutput
'Код формы
Private Sub Command1_Click()
 End
End Sub
Private Sub Command2_Click()
 lstOutput.Clear
 ;Dim bRet As Long
bRet = EnumChildWindows(Me.hWnd, AddressOf EnumChildProc, lstOutput)
End Sub

'Код модуля
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Any, ByVal lParam As Any) As Long
Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Function EnumChildProc(ByVal hWnd As Long, ByVal lParam As ListBox) As Long
Dim szTitle As String
Dim szTitle2 As String
Dim bRet As Long
Dim szTitle3 As Integer
Dim CurrClass As String
Dim CurrClass2 As String
szTitle = String(512, 0)
CurrClass = String(512, 0)
bRet = GetWindowText(hWnd, szTitle, 512)
bRet = GetClassName(hWnd, CurrClass, 512)
szTitle3 = InStr(1, CurrClass, Chr(0))
If szTitle3 = 1 Then CurrClass2 = "" Else CurrClass2 = Left(CurrClass, szTitle3 - 1)
CurrClass2 = CurrClass2 & " | "
szTitle3 = InStr(1, szTitle, Chr(0))
If szTitle3 = 1 Then szTitle2 = "" Else szTitle2 = Left(szTitle, szTitle3 - 1)
If szTitle2 = "" Then szTitle2 = "-NoCaption-"
szTitle2 = RTrim(szTitle2)
szTitle2 = szTitle2 & " | hwnd=" & hWnd
szTitle2 = CurrClass2 & szTitle2
 lParam.AddItem szTitle2
EnumChildProc = 1
End Function

Там в самой CallBack функции (EnumChildProc) много мусора накидано для демонстрации. Так что если не ферштейн - не стесняйся.

Ответить

Номер ответа: 5
Автор ответа:
 Danger2002



Вопросов: 10
Ответов: 109
 Профиль | | #5 Добавлено: 29.06.03 20:47

У лейбла нет хвнд.

Ответить

Номер ответа: 6
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #6
Добавлено: 29.06.03 21:07

2 Danger2002

Посмотри мой пример. Я на него час угробил.

Но и сам разобрался :)

Ответить

Номер ответа: 7
Автор ответа:
 Casper



Вопросов: 38
Ответов: 28
 Профиль | | #7 Добавлено: 01.07.03 22:42

Отлично! То, что именно было нужно. Большое спасибо!

Ответить

Страница: 1 |

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



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