|
|
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Есть такой откомпилированный в 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 из другого(!) приложения. Подскажите, пожалуйста, как можно это реализовать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 17:36 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
> Нужно программно получить содержимое Label1.Caption из другого(!) > приложения. Подскажите, пожалуйста, как можно это реализовать??? FindWindow, GetWindowText тебе помогут Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 18:53 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Все не так просто, как кажется... :(( Функциям 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2008, 19:54 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Label это рисунок, а не окно, у него нет hwnd, получить его значение можно только распознав картинку. Всякие ID - от лукавого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 11:34 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Хорошо... Ну, а если подойти к решению этого вопроса с другой стороны... Как говорится: если Магомед не идет к «Label», то может «Label» придет к Магомеду??! ;) Если я правильно понимаю: прежде чем содержимое Label будет нарисовано на форме, оно сначала будет «нарисовано» в памяти компа, в цифровом виде, а уже потом переведено в граф. адаптер для "рисования"... Значит, если правильно прочесть эти данные прямо из памяти, то таким образом, можно будет получить их значения. Как это можно сделать? Я так понимаю, нужна грамотная манипуляция функциями типа: FindWindow, VarPtr, StrPtr, ObjPtr, GetProcAddress, CopyMemory... Кто-нибудь знает КАК??.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 12:27 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
*Ptrы точно не помогут, но в целом мысль правильная, хотя и связанная с немыслимым гемороем. Задай этот вопрос на vbstreets.ru, там есть специалисты по этому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 13:21 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Ладно... попробую... Если ответ будет, то дам ссылку здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 14:25 |
|
||
|
Как получить содержимое Label из другого приложения?
|
|||
|---|---|---|---|
|
#18+
Ладно... попробую... Если ответ будет, то дам ссылку здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2008, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=202&tid=2162756]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 398ms |

| 0 / 0 |
