Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
 Аватар для ololol
4 / 4 / 1
Регистрация: 17.01.2010
Сообщений: 41

Вставка в чужое окно

19.10.2010, 01:50. Показов 3402. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот есть у меня какая-то открытая прога, каким чудом можно в неё (конечно же при условии что в ней есть поле ввода, не обязательно эдит, что-то вообщем...) и есть некий текст, а может быть картинка, но для начала можно и текст, ккоторый вставляется в чужое окно, как это сделать?

А теперь по-русски: Как организовать вставку текста в чужое окно?

Добавлено через 5 минут
C++
1
2
3
hwndlol = GetActiveWindow();
SendMessage(hwndlol, WM_SETTEXT, 0, (LPARAM)(L"trolololo")); 
SetWindowText(hwndlol, L"olololo");
пытался делать так...
оно конечно вставляет текст, но не туда
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2010, 01:50
Ответы с готовыми решениями:

Добавить в чужое окно контрол
Привет. Как добавить свой контрол в чужое окно? Что то наподобие HWND hHack=FindWindow(NULL, "Калькулятор"); HWND buttonm =...

Ввод текста в чужое окно
Подскажите как реализовать вот например нахожу калькулятор HWND H = FindWindow("SciCalc", "Калькулятор"); if (H ==...

Закрыть чужое окно Windows
Здравствуйте у меня есть программа которая открывает калькулятор 5 раз и нужно сделать так чтобы по нажатию любой кнопки можно было их...

11
Заблокирован
19.10.2010, 12:13
http://www.pinvoke.net/default... indWindow#
там FindWindowByCaption(если Caption не постоянное, то GetDesktopWindow{рабочий стол}, потом поиск окна по каким-то признакам), нашли хендл окна, в нем ищем хендл требуемого элемента управления, например через(FindWindowEx)
а потом уже SendMessage
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
19.10.2010, 16:53
Dzhej-Dzhej, тогда уж легче использовать EnumWindows с EnumChildWindows или же GetWindow, вместо FindWindow(Ex) для поиска окон, классы могут быть неизвестны.
0
 Аватар для ololol
4 / 4 / 1
Регистрация: 17.01.2010
Сообщений: 41
19.10.2010, 17:16  [ТС]
Цитата Сообщение от SSTREGG Посмотреть сообщение
Dzhej-Dzhej, тогда уж легче использовать EnumWindows с EnumChildWindows или же GetWindow, вместо FindWindow(Ex) для поиска окон, классы могут быть неизвестны.
они не могут быть не известны, они не известны, пока работает через буфер обмена, но это как-то не по-человечески, когда еще будет гонять например метровый текст туда-сюда-обратно =(

Вопрос остается открытым =)
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
19.10.2010, 19:47
Смотрите в сторону:
Цитата Сообщение от SSTREGG Посмотреть сообщение
EnumWindows с EnumChildWindows или же GetWindow
К тому же Вам нужна не
Цитата Сообщение от ololol Посмотреть сообщение
GetActiveWindow();
а GetForegroundWindow, т.к. GetActiveWindow возвращает handle активного окна, только для потока в котором она была вызвана.
0
 Аватар для radiohobbyt
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
20.10.2010, 16:11
Сообщение через Handle
примерно так. исходное окно изучаем с помощью spy++ или Voyeur и находим кому сообщения слать
0
 Аватар для ololol
4 / 4 / 1
Регистрация: 17.01.2010
Сообщений: 41
20.10.2010, 21:29  [ТС]
Цитата Сообщение от radiohobbyt Посмотреть сообщение
Сообщение через Handle
примерно так. исходное окно изучаем с помощью spy++ или Voyeur и находим кому сообщения слать
Это конечно все хорошо, но исходное окно у меня не известно, не известно куда юзеру надо это засунуть, а хранить стопку хенделов, стандартных окон, + поля какие там и как называются, ну как-то не очень удобно на мой взгляд =)

Все еще пока через буфер, и все пока актуально =)
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
20.10.2010, 23:38
ololol, мне тебе в третий раз написать? Или ты ждешь код?

Добавлено через 6 минут
EnumWindows Function

The EnumWindows function enumerates all top-level windows on the screen by passing the handle to each window, in turn, to an application-defined callback function. EnumWindows continues until the last top-level window is enumerated or the callback function returns FALSE.

EnumChildWindows Function

The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle to each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.

GetWindow Function

The GetWindow function retrieves a handle to a window that has the specified relationship (Z-Order or owner) to the specified window.
Цитаты из MSDN.
0
 Аватар для ololol
4 / 4 / 1
Регистрация: 17.01.2010
Сообщений: 41
21.10.2010, 00:04  [ТС]
SSTREGG, простите =) Неа не жду, просто может кто еще чего сверхестественное придумает, хотя думаю что врятли =) Атктуальность заключалась лишь в том что не реализовал я этим способом, пока висит через буфер пусть висит, хотя вот тут такой вопрос, на примере пунтосвитчера, оно вставляет даже в "закрытые" (заприваченные окна), до которых так не достучаться как так?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8728 / 3680 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
21.10.2010, 00:27
Punto Switcher ставит хуки на WH_GETMESSAGE, WH_SHELL, WH_CBT и WH_KEYBOARD_LL. + использует довольно интересную функцию GetGUIThreadInfo и ещё AttachThreadInput.

Если надо более подробно, то какой-нибудь дизассемблер в руки и вперед
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
23.10.2010, 23:41
Цитата Сообщение от ololol Посмотреть сообщение
оно конечно вставляет текст, но не туда
Вставляет "не туда"-это как?. В чем все-таки проблема - в определении Handle нужного окна/контрола или именно в задании текста?.
Кстати о SetWindowText конкретно написано, что она работает только в окнах одного потока...
А WM_SETTEXT неприменима, например, к некоторым Combo/ListBox'ам. К тому же окно, в которое посылаете сообщение, может глушить любую Windows-функцию и пользоваться для выставления текста какими-то своими...
0
 Аватар для ololol
4 / 4 / 1
Регистрация: 17.01.2010
Сообщений: 41
27.10.2010, 21:26  [ТС]
не туда, это в Тайтл окна, когда это тестил, в меня все окна назывались "olololo" =) Пофигу пока проблемы нет, пусть весит через буфер обмена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2010, 21:26
Помогаю со студенческими работами здесь

Чужое модальное окно сделать немодальным
Всем привет. Вопрос : Сделать чужое модальное окно немодальным . Такое возможно ?

Вставка изображения в окно
Подскажите, пожалуйста, как вставлять изображения в окошко на WINAPI, подробно, если можно

Вставка текста в чужое окно
У меня есть чужая программа в которой имеется пустое поле для ввода в котором есть описание "Введите текст". Мне нужно написать в...

Чужое окно
Объясняю проблему. Мне нужно чтобы при запуске .jar файла( моей программы ) она в ДРУГОМ окне нажимала ctrl+a ctrl+s потом вводила название...

Чужое окно
Возможно ли, зная название чужого окна, скопировать из него всю текстовую информацию, которую только можно скопировать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru