powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как получить содержимое Label из другого приложения?
9 сообщений из 9, страница 1 из 1
Как получить содержимое Label из другого приложения?
    #35092667
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой откомпилированный в EXE код:

Private Sub Form_Load()
Timer1.Interval = 100
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Static count
count = count + 1
Label1.Caption = count
End Sub

Нужно программно получить содержимое Label1.Caption из другого(!) приложения. Подскажите, пожалуйста, как можно это реализовать???
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35092943
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Нужно программно получить содержимое Label1.Caption из другого(!)
> приложения. Подскажите, пожалуйста, как можно это реализовать???

FindWindow, GetWindowText тебе помогут

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35093058
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все не так просто, как кажется... :((

Функциям FindWindow, GetWindowText нужно указывать хэндл элемента Label, или хотя бы имя класса. Но вопрос в том, как его получить???

Нашел такую информацию, что есть два типа Label – статические и динамические. Значения динамических Label получить вроде как можно через ID. Но как именно?!!
Статические Label компилятор просто «рисует» на форме и все... Получить их значения не представляется возможным. :(( Разве что как-то через API функцию GetPixel – выполнять распознавание, как в FineReader’e. :((

Но в данном случаи, меня интересуют значения динамических Label! Может, кто знает, как получать их ID?! Если можно, пример кода...

Коды такого типа НЕ работают!Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Sub Form_Load()
Dim h As Long, hText As Long
h = FindWindow(vbNullString, ByVal "Form1")
hText = FindWindowEx(h, 0, vbNullString, ByVal "Label1")
MsgBox hText
'h = FindWindow(vbNullString, ByVal "ИМЯ_ФОРМЫ")
'hText = FindWindowEx(h, 0, vbNullString, ByVal "ИМЯ_ТЕКСТОВОГО_ЭЛЕМЕНТА")
End Sub
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35094064
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Label это рисунок, а не окно, у него нет hwnd, получить его значение можно только распознав картинку. Всякие ID - от лукавого.
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35094301
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо...
Ну, а если подойти к решению этого вопроса с другой стороны... Как говорится: если Магомед не идет к «Label», то может «Label» придет к Магомеду??! ;)

Если я правильно понимаю: прежде чем содержимое Label будет нарисовано на форме, оно сначала будет «нарисовано» в памяти компа, в цифровом виде, а уже потом переведено в граф. адаптер для "рисования"... Значит, если правильно прочесть эти данные прямо из памяти, то таким образом, можно будет получить их значения.

Как это можно сделать?
Я так понимаю, нужна грамотная манипуляция функциями типа: FindWindow, VarPtr, StrPtr, ObjPtr, GetProcAddress, CopyMemory...

Кто-нибудь знает КАК??..
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35094550
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ptrы точно не помогут, но в целом мысль правильная, хотя и связанная с немыслимым гемороем. Задай этот вопрос на vbstreets.ru, там есть специалисты по этому вопросу.
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35094815
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно... попробую...
Если ответ будет, то дам ссылку здесь.
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35094823
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно... попробую...
Если ответ будет, то дам ссылку здесь.
...
Рейтинг: 0 / 0
Как получить содержимое Label из другого приложения?
    #35102065
awl100Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжение этой темы ищите на сайте: http://bbs.vbstreets.ru/
Тема одноименная! Прямая ссылка:
http://bbs.vbstreets.ru/viewtopic.php?t=35701&start=0
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как получить содержимое Label из другого приложения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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