Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скопировать данные с помощью API функций [D7, WinXP]


Страницы:   1 2 3

Krozzz ©   (2009-02-13 19:00:00) 

Есть две программы. В каждой по компоненту Edit. Подскажите, как поместить информацию из Edit"а одной программы в Edit другой (и если вместо Edit будет Label)?


Krozzz   (2009-02-16 20:35:00) [21]


> Ну тогда распрощайся с затеей.

Обидно ;(
Ну ладно...
Закрывайте тему


Сергей М.   (2009-02-16 20:11:00) [22]


> первую программу изменять нельзя


Ну тогда распрощайся с затеей.


Krozzz   (2009-02-16 20:09:00) [23]


> - в ответ первая программа посылает второй результат запроса.

первую программу изменять нельзя.


clickmaker   (2009-02-16 12:46:00) [24]

> wnd:=FindWindowEx(wnd,0,'TLabel','Label1');
> SendMessage(wnd,WM_GETTEXT,100, LParam(@a));

во-первых, TLabel никогда не найдешь
во-вторых, не выделена память под a


Юрий Зотов   (2009-02-16 11:58:00) [25]

> Krozzz   (15.02.09 22:36) [24]
> wnd:=FindWindowEx(wnd,0,'TLabel','Label1');

Как можно найти окно TLabel, если никакого окна у TLabel нет совсем?
Причем TLabel - это далеко не единственный компонент без окна.

Универсальная схема может быть такой:
- регистрируем 2 собственных сообщения - запрос и ответ;
- при нажатии на кнопку вторая программа посылает первой запрос, в параметрах которого указывает, что она хочет получить;
- в ответ первая программа посылает второй результат запроса.


Германн   (2009-02-16 00:23:00) [26]


> Все равно не копирует(


> P.S. А дельфийский компонент TLabel, к примеру, никакого
> окна не имеет.
>


Krozzz   (2009-02-15 22:36:00) [27]

procedure TForm1.Button1Click(Sender: TObject);
var
wnd:hwnd;
a:string;
begin
 wnd:=FindWindow('TFormN','FormN');
 wnd:=FindWindowEx(wnd,0,'TLabel','Label1');
 SendMessage(wnd,WM_GETTEXT,100, LParam(@a));
 Edit1.Text:=a;
end;

Все равно не копирует(


Сергей М.   (2009-02-15 20:44:00) [28]

"Выкладываю" - WM_GETTEXT


Германн   (2009-02-15 01:14:00) [29]


> Krozzz   (14.02.09 19:15) [7]
>
>
> > исходники доступны
>
> доступны
>

Ой врёшь!
Всё что тобой написано после этого поста свидетельствует о совсем ином.


Krozzz   (2009-02-14 23:36:00) [30]


> но возможно
без него?
Если можно, то можете выложить примерный код?


Сергей М.   (2009-02-14 23:31:00) [31]

Не обязательно, но возможно.


Krozzz   (2009-02-14 23:29:00) [32]


> Ну, как минимум, контрол-источник должен быть представлен
> собственным окном.

т.е. все-таки надо добавить в прогу-источник дополнительный элемент?


Сергей М.   (2009-02-14 23:26:00) [33]

Ну, как минимум, контрол-источник должен быть представлен собственным окном.


Krozzz   (2009-02-14 23:21:00) [34]

Извиняюсь, забыл сказать, что программу, из которой копируется строка, тестовая, т.е. на практике надо будет считать строку из программы, в которой будет много элементов (естественно и тот, с которого надо считать) и добавить или убавить элементы к ней нельзя.


Krozzz   (2009-02-14 23:15:00) [35]


> Можно лишь в частных случаях

Какими должны быть условия?


Сергей М.   (2009-02-14 23:02:00) [36]


> Krozzz


Можно лишь в частных случаях


Denis__   (2009-02-14 22:53:00) [37]

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


Krozzz   (2009-02-14 22:36:00) [38]


>  потом сама получала?

Точнее получала программа, в которо кнопка, и размещала в каком-нибудь, скажем, Label или Edit?


Krozzz   (2009-02-14 22:33:00) [39]


> Никак.Прежде чем что-то получать, надо чтобы это "что-то"
> было сначала отправлено, иначе получать нечего)

Т.е. нелзя сделать так, чтобы кнопка находила строку в другой программе, посылал ее в свою программу и потом сама получала?


Сергей М.   (2009-02-14 22:25:00) [40]

Никак.
Прежде чем что-то получать, надо чтобы это "что-то" было сначала отправлено, иначе получать нечего)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо