|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Обмен строками между приложениями
Подскажите как с помощью SendMessage организовать передачу строки от одной програмы другой?
Или подскажите свой, более рациональный способ. Желательно с примером. Последний раз редактировалось Zum, 30.05.2006 в 01:41. |
#2
|
||||
|
||||
Пример передает текст "Test" в текстовое поле Блокнота.
Код:
var i: integer; Wnd: hWnd; TrayWnd, BtnWnd: hWnd; // для Button Control : array [0..127] of char; AText: string; begin AText:=Edit5.Text; // найти окно самого приложения Wnd:=FindWindow(nil,PChar('Untitled - Notepad')); // в нем найти первое (по Z-порядку) дочернее окно и получить его класс Wnd:=GetWindow(Wnd,GW_CHILD); GetClassName(Wnd, Control, SizeOf(Control)); // ищем нужный контрол while Control<>'Edit' do // имя контрола begin Wnd:=GetWindow(Wnd, GW_HWNDNEXT); GetClassName(Wnd, Control, SizeOf(Control)); end; // записать в него нужный текст SendMessage(Wnd, WM_SETTEXT, 0, Integer(PChar(AText))); end; |