Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как про-ть текст окна службы Messenger? Добавлено: 19.04.04 09:31  

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

Приветствую уважаемые! У меня вопрос.

Как прочитать текст окна службы Messenger Service? Это окно появляется с приходом нового сообщения, отправленного по локалке с помощью команды Net Send...  Это окно ищется, допустим, с помощью API EnumWindowsProc & FindWindow...  А как считать текст в переменную (TextBox) ?

Надеюсь на вашу поддержку!  

Ответить

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

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



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #1
Добавлено: 19.04.04 14:50
Мне бы тоже хотелось знать.... :)

Ответить

Номер ответа: 2
Автор ответа:
 Александр



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

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #2 Добавлено: 19.04.04 20:08

А может просто сканить все элементы той формы на Caption?

Ответить

Номер ответа: 3
Автор ответа:
 DDOS



Вопросов: 5
Ответов: 2
 Профиль | | #3 Добавлено: 20.04.04 06:16

2Александр: Каким образом? Вообще этот вопрос оказывается уже обсуждался на этом форуме, но ответа так и не было...

Может кто подскажет?

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #4
Добавлено: 20.04.04 12:31

hwnd найденного окна (класса) сунуть в функцию - она покажет остальное инфо

Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long

Private Const GW_CHILD = 5

Private Const GW_HWNDNEXT = 2

Public Function WindowInfo(window_hwnd As Long) As String

Dim txt As String

Dim buf As String

Dim buflen As Long

Dim child_hwnd As Long

Dim children As Collection

Dim i As Integer

' Get the class name.

buflen = 256

buf = Space$(buflen - 1)

buflen = GetClassName(window_hwnd, buf, buflen)

buf = Left$(buf, buflen)

txt = "Class: " & buf & vbCrLf

' hWnd.

txt = txt & " hWnd: " & _

Format$(window_hwnd) & vbCrLf

' Associated text.

txt = txt & " Text: [" & _

WindowText(window_hwnd) & "]" & vbCrLf

' Make a list of the child windows.

Set children = New Collection

child_hwnd = GetWindow(window_hwnd, GW_CHILD)

Do While child_hwnd <> 0

children.Add child_hwnd

child_hwnd = GetWindow(child_hwnd, GW_HWNDNEXT)

Loop

' Get information on the child windows.

For i = 1 To children.Count

txt = txt & WindowInfo(children(i))

Next i

WindowInfo = txt

End Function

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #5
Добавлено: 20.04.04 16:48

К тому же (чтоб работало):

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_GETTEXT = &HD

Private Const WM_GETTEXTLENGTH = &HE

Public Function ClassName(ByVal lHwnd As Long) As String

Dim lLen As Long

Dim sBuf As String

lLen = 260

sBuf = String$(lLen, 0)

lLen = GetClassName(lHwnd, sBuf, lLen)

If (lLen <> 0) Then

ClassName = Left$(sBuf, lLen)

End If

End Function

Public Function WindowText(window_hwnd As Long) As String

Dim txtlen As Long

Dim txt As String

WindowText = ""

If window_hwnd = 0 Then Exit Function

txtlen = SendMessage(window_hwnd, WM_GETTEXTLENGTH, 0, 0)

If txtlen = 0 Then Exit Function

txtlen = txtlen + 1

txt = Space$(txtlen)

txtlen = SendMessage(window_hwnd, WM_GETTEXT, txtlen, ByVal txt)

WindowText = Left$(txt, txtlen)

End Function

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #6
Добавлено: 20.04.04 17:24

Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 20.04.04 17:43

Ботать доки по NetBIOS и перехватывать самому.

Ответить

Страница: 1 |

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



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