AKB Forums

Go Back   AKB Forums > Technical sections > Languages, Compilers and Interpreters
Home Register Blogs FAQ Members List Calendar Downloads Arcade Mark Forums Read

Languages, Compilers and Interpreters C,C++,C#,.NET,Java,PHP,Perl,SQL and more

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old May 20, 2004, 06:17   #1
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
получение текста другого окна

на примере notepad-a. GetWindowText нормально возвращает текст фрейма, но выдаёт пустую строку на самом editbox-e. в чём причина? вряд ли из-за разницы между ansi и unicode функциями - система выполняет необходимое преобразование, тем более, что в тексте использованы только латинские символы
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Old May 20, 2004, 07:24   #2
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
mojno primer koda v studiyu ?
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
greka is offline   Reply With Quote Quote selected
Old May 20, 2004, 07:45   #3
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
Quote:
Originally Posted by greka
mojno primer koda v studiyu ?
Code:
CWnd* wnd = CWnd::FromHandle(WindowFromPoint(pt));
CString wndText;
if(IsWindow(wnd->m_hWnd))
{
	wnd->GetWindowText(wndText);
}
добавлю, что spy++ на работе (win2000) добирается до текста в блокноте, а дома (xp) - нет
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Old May 20, 2004, 13:04   #4
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,615
Rep Power: 11
Reputation: 202
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Арам, а ты уверен, что GetWindowText для окна notepad -а должен возвращать его текст? Если хочешь я тебе пришлю исходники нотепада, а ты покопайся
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old May 20, 2004, 13:11   #5
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
Quote:
Originally Posted by Agregat
Арам, а ты уверен, что GetWindowText для окна notepad -а должен возвращать его текст? Если хочешь я тебе пришлю исходники нотепада, а ты покопайся
а как же иначе может работать spy? он ведь по идее работает с любым окном, вряд ли для определенных окон будет использовать специальные методы.

кстати, еще шрифт не могу запросить (и тем более - установить). это может быть связано с принадлежностью окон разным процессам? есть такие ограничения в w2k и/или xp? и как с этим обстоит на 95/98?

если нотпад отличается от того, что генерит студия при создании mfc appwizard приложения, то пришли плиз, посмотрю...
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Old May 20, 2004, 13:28   #6
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,615
Rep Power: 11
Reputation: 202
Send a message via ICQ to Agregat Send a message via MSN to Agregat
ок пришли приватом майл получишь зип.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old May 20, 2004, 14:34   #7
Дошкольник
 
Join Date: Mar 2003
Location: 2A
Posts: 102
Rep Power: 6
Reputation: 10
Текст editbox-а ты не получишь с помощью GetWindowText, т.к. он возвращает только заголовок окна, а текст можешь читать с помощью WM_GETTEXT, хотя в случае notepad-а и это не поможет, notepad рисует текст прямо на DC, это всего лишь рисунок + internal buffer для текста.
armeng is offline   Reply With Quote Quote selected
Old May 20, 2004, 14:40   #8
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
Quote:
Originally Posted by armeng
Текст editbox-а ты не получишь с помощью GetWindowText, т.к. он возвращает только заголовок окна, а текст можешь читать с помощью WM_GETTEXT
а какая разница между этими двумя методами?

Quote:
хотя в случае notepad-а и это не поможет, notepad рисует текст прямо на DC, это всего лишь рисунок + internal buffer для текста.
тогда как это удается программе spy? кстати, она как раз показывает, что в клиентской области окна нотпада сидит обычный editbox
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Old May 21, 2004, 05:27   #9
Дошкольник
 
Join Date: Mar 2003
Location: 2A
Posts: 102
Rep Power: 6
Reputation: 10
Quote:
Originally Posted by Aram Hambardzumyan
а какая разница между этими двумя методами?
GetWindowText cannot retrieve the text of a control in another application.

Quote:
тогда как это удается программе spy? кстати, она как раз показывает, что в клиентской области окна нотпада сидит обычный editbox
Честно говоря, я не смотрел spy-ом, это у меня была догадка, что нотпад рисует на DC. Если действительно там обычный editbox, то WM_GETTEXT должно помочь.
armeng is offline   Reply With Quote Quote selected
Old May 21, 2004, 06:31   #10
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,615
Rep Power: 11
Reputation: 202
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Спай, глобально по другому работает. Я бы посоветовал посмотреть исходники распостраняемых в инете подсмотрщики паролей. Они даже ртф раскодируют.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old May 21, 2004, 07:52   #11
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
глобально по-другому - так как же, в конце концов?
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
greka is offline   Reply With Quote Quote selected
Old May 21, 2004, 08:14   #12
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,615
Rep Power: 11
Reputation: 202
Send a message via ICQ to Agregat Send a message via MSN to Agregat
Господин Казарян, там выше написано, какие программы делают это, и то, что их исходники лежат в сети. Не ленитеь, погуглите, и покопайтесь в сырцах.
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old May 21, 2004, 09:24   #13
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
Quote:
Originally Posted by armeng
Честно говоря, я не смотрел spy-ом, это у меня была догадка, что нотпад рисует на DC. Если действительно там обычный editbox, то WM_GETTEXT должно помочь.
помогло, спасибо
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Old May 21, 2004, 11:14   #14
Administrator
 
greka's Avatar
 
Join Date: Sep 2001
Location: @work
Posts: 5,347
Rep Power: 10
Reputation: 23
Send a message via ICQ to greka
Quote:
Originally Posted by Agregat
Господин Казарян, там выше написано, какие программы делают это, и то, что их исходники лежат в сети. Не ленитеь, погуглите, и покопайтесь в сырцах.
...времени жалко - надеялся, что в двух словах кто сможет опЪисать
__________________
И повешенные могут качаться в неположенную сторону. /С.Е.Лец/
greka is offline   Reply With Quote Quote selected
Old May 23, 2004, 11:48   #15
The Reloaded
 
Aram Hambardzumyan's Avatar
 
Join Date: Jan 2002
Location: behind the flesh and gelatinе of soft dull eyes
Posts: 3,180
Rep Power: 7
Reputation: 45
Quote:
Originally Posted by armeng
GetWindowText cannot retrieve the text of a control in another application.
...
Если действительно там обычный editbox, то WM_GETTEXT должно помочь.
действительно, с WM_GETTEXT текст выковыривается.

агрегат: спасибо за исходники нотпада, я попробовал через получение буфера editbox-a, но добраться до него не вышло, видимо из-за принадлежности другому процессу.
Aram Hambardzumyan is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Статья из Miu-mau.org [ С днем рождения, Нина! [25.12.03] ] Н.К.Рерих General 7 Dec 27, 2003 17:18
Плов (заявка на докторскую диссертацию) Yana Bon appetit! 6 Apr 4, 2003 04:52
Вий-95 Завен Григорян Fun 0 Apr 2, 2003 15:49
Разоблачение чудес Матери Терезы acid General 1 Oct 25, 2002 17:22
HELP! Помогите с проблемои перерисовки окна death Languages, Compilers and Interpreters 4 Sep 16, 2002 15:01


All times are GMT. The time now is 17:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link