powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / виртуальный редактор
12 сообщений из 12, страница 1 из 1
виртуальный редактор
    #34819536
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая задачка:

есть программа, недоступная для изменения, допустим, это Notepad. Надо сделать программку, которая сможет: 1) считывать текст из Notepad'а, 2) посылать туда текст, чтобы он появлялся в окне редактирования, а также все стирать.

Это возможно? Намекните, pls, в каком направлении двигаться.
...
Рейтинг: 0 / 0
виртуальный редактор
    #34819603
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustVasЕсть такая задачка:

есть программа, недоступная для изменения, допустим, это Notepad. Надо сделать программку, которая сможет: 1) считывать текст из Notepad'а, 2) посылать туда текст, чтобы он появлялся в окне редактирования, а также все стирать.

Это возможно? Намекните, pls, в каком направлении двигаться.
SendMessage, WM_GETTEXT, SETTEXT
...
Рейтинг: 0 / 0
виртуальный редактор
    #34819665
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cerebrum пишет:
> SendMessage, WM_GETTEXT, SETTEXT

Зошибизь, только оно усе в адресном пространстве
другого процесса. Да и с SendMessage проблемы могут быть -
локи всякие.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
виртуальный редактор
    #34819985
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Cerebrum пишет:
> SendMessage, WM_GETTEXT, SETTEXT

Зошибизь, только оно усе в адресном пространстве
другого процесса. Да и с SendMessage проблемы могут быть -
локи всякие.
Posted via ActualForum NNTP Server 1.4
ты не поверишь, но у меня работает!
...
Рейтинг: 0 / 0
виртуальный редактор
    #34820008
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv wrote:

> Зошибизь, только оно усе в адресном пространстве
> другого процесса. Да и с SendMessage проблемы могут быть -
> локи всякие.
Если HWnd блокнота известен (а его можно найти), то проблем вообще-то
быть не должно. Насчет локов - можно PostMessage использовать.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
виртуальный редактор
    #34820165
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если HWnd блокнота известен (а его можно найти), то проблем вообще-то
быть не должно
Все работает и все бы хорошо, да вот только эти SendMessage и PostMessage читают и пишут не содержимое блокнота, а заголовок окна :( Например, вот код, который даже есть в msdn, и который должен читать содержимое, а читает заголовок:
Код: plaintext
1.
2.
TCHAR buf[ 512 ];
SendMessage(hwnd2, WM_GETTEXT, sizeof(buf)/sizeof(TCHAR), (LPARAM)(void*)buf);
Здесь hwnd2 - это HWND блокнота.
...
Рейтинг: 0 / 0
виртуальный редактор
    #34820292
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustVas wrote:

> Здесь hwnd2 - это HWND блокнота.
В WinAPI должны быть функции для перебора имеющихся окон и потомков
окна. Попробуйте их поискать в справке (что это конкретно, я не помню,
так как ни разу не пользовался, но помню, что они есть. Что-то вроде
EnumerateWindows, возможно).

Ещё на ActivePerl шел в комплекте пример, писавший текст в блокнот.
Возможно, там что-то есть интересное.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
виртуальный редактор
    #34820545
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
JustVas wrote:

> Здесь hwnd2 - это HWND блокнота.
В WinAPI должны быть функции для перебора имеющихся окон и потомков
окна.
FindWindow, GetWindow
...
Рейтинг: 0 / 0
виртуальный редактор
    #34820827
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо! Заработало! :)
...
Рейтинг: 0 / 0
виртуальный редактор
    #34822718
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JustVasНапример, вот код, который даже есть в msdn, и который должен читать содержимое, а читает заголовок:
Код: plaintext
1.
2.
TCHAR buf[ 512 ];
SendMessage(hwnd2, WM_GETTEXT, sizeof(buf)/sizeof(TCHAR), (LPARAM)(void*)buf);
Здесь hwnd2 - это HWND блокнота.Ну дык кто тебе сказал что надо брать HWND Блокнота? Надо брать HWND окошка внутри Блокнота.
...
Рейтинг: 0 / 0
виртуальный редактор
    #34834502
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Усложняем... :)
Как оказалось, такой код здорово работает для блокнота (SDI), а для MDI оказался нерабочим (например, word). Последнее Child окно, которое находит EnumChildWindows - это одно из дочерних окон (а не Edit-область - это и Spy++ показывает), и SendMessage пишет/читает его рамку. А вот как писать сам текст в этом MDI???
...
Рейтинг: 0 / 0
виртуальный редактор
    #34836221
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HELP!!! Очень надо! DefMDIChildProc(hwnd, WM_SETTEXT, 0, (LPARAM)(void*)p_str) тоже не работает - пишет в рамку
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / виртуальный редактор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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