Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поключиться к чужому окну... И внести данные в нужный Edit... 
:(
    Опции темы
Maverick
  Дата 23.3.2004, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Доброе ... (нужное подставить)!

Есть такая проблемка.... Чужая программа работает... Известно только то, что вы знаете о любой запущенной вами проге - как она выглядит в Диспетчере задач и ее заголовок... В ней есть Edit (поле для занесения информации)... Необходимо подключится к окну и внести нужную информацию в этот Edit... И не в какой-нибудь, а именно нужный (их в окне несколько)...

Автор: Brutus (http://coding.pp.ru/)
procedure TForm1.Button1Click(Sender: TObject);
var
CurrWnd:HWND;
begin
while true do
begin
CurrWnd:=GetForegroundWindow;
SetWindowText(CurrWnd, 'From Windows with Love');
Sleep(5000);
end;
end;

Вот примерно как здесь... Только тут подключаются к текущему окну и меняют его заголовок... Извините, более близкого примера не нашел...
Посоветуйте... как найти нужный окно, едит... как их идентифицировать и как к ним обратиться?


--------------------
smile
PM ICQ GTalk   Вверх
dm9
Дата 23.3.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Это раз...
http://delphi.vitpc.com/asp/viewitem.asp?catalogid=419
Это двас...
http://delphimaster.ru/cgi-bin/faq.pl?look...=988620990&n=15

Хм... Может, фразу "поиск рулит" мне внести в подпись? А то всё время её тут пишу.


PS. Да, забыл. ПОИСК РУЛИТ.

smile.gif

В общем, что непонятно - спрашивай.

Это сообщение отредактировал(а) dm9 - 23.3.2004, 20:44
PM MAIL ICQ   Вверх
-=::BlackCat::=-
Дата 23.3.2004, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

Репутация: 1
Всего: 6



Обезательно дабавь большими красными буквами


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Maverick
Дата 24.3.2004, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10





procedure TForm1.SetTextToEdit(Sender: TObject);
var EditHandle: THandle; TextToSet: PChar;
begin
SendMessage(EditHandle, WM_SETTEXT, 0, Integer(TextToSet));
end;

Вот это мне понравилось.... Вроде то, что нужно....

Но как получить этот самый Handle того самого Edita, я простите, так и не понял.... Я так понимаю, что на окно уже все равно какое... главное Edit схватить....

EditHandle = ?

А поиском я пользовался, и даже на форуме нашел несколько подобных тем.... Пробовал, но не получилось...


--------------------
smile
PM ICQ GTalk   Вверх
dm9
Дата 24.3.2004, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Программу скачивал?

Значит, так. Скачиваем программу. Смотрим, какой тип у твоего окна (главного!). Если прогу ты писал сам, то тип окна - это название класса главной твоей формы. По умолчанию это - TForm1.

Получаем дескриптор этого окна:

HWND: THandle;
HWND := FindWindow (ТИП_ОКНА, nil);
Ну или HWND := FindWindow (ТИП_ОКНА, ИМЯ_ОКНА);

Затем ищем при помощи FindWindowEx дочерние окна, какие тебе нужны. Определение - по типу окна, дескриптору меню, тексту и т. д.

Намёк - GetMenu, GetWindowText, GetClassName - это смотри в первой статье.

Если у тебя куча дочерних элементов одинаковых типов, наверное, придётся из перебрать (EnumWindows) и разделить по дексриптору меню (GetMenu).

Вот тебе ещё статейка.
http://delphimaster.ru/articles/winapi/index.html
PM MAIL ICQ   Вверх
Maverick
Дата 24.3.2004, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Программу скачивал, очень красиво.... Даже засылал уже в Едит значение..... получается....

Счас пытаюсь заслать по порядку обхода.... предположим Едит 3-ий по Tab - значит в него..... Мучаю...

Нет прога не моя.... Абсолютно чужая...

Ссылка последняя не работает... sad.gif Дельфимастер весь мертвый - зайду попозже....

Спасибо за Хелп огромное....
Добавлено @ 14:32
Пробился все-таки... статейка бешеная, конечно... почитаем....


--------------------
smile
PM ICQ GTalk   Вверх
dm9
Дата 24.3.2004, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Посмотри в Обозревателе Окон (то, что ты скачал) дескриптор меню нужного тебе эдита.

Затем, наверное, придётся проходить при помощи EnumWindows по всем окнам типа TEdit (или Edit) и искать нужное тебе окно по дескриптору меню.
PM MAIL ICQ   Вверх
bartram
Дата 24.3.2004, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: 3
Всего: 29



Maverick скинь исходник этой проги мне на майл если не трудно



--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
Maverick
Дата 24.3.2004, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Ок.... счас.... Только там RxLib используется....


--------------------
smile
PM ICQ GTalk   Вверх
beif
Дата 24.3.2004, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.8.2003
Где: Россия, Кемерово

Репутация: нет
Всего: 1



Maverick, а что такое RxLib и где взять?

PM MAIL WWW ICQ   Вверх
Maverick
Дата 24.3.2004, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Цитата
Maverick, а что такое RxLib и где взять?


1 топ - 1 вопрос...

Библиотека компонентов очень распространенная, продвинутая... Поищи по форуму - ссылки на скачку есть...


--------------------
smile
PM ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.