Вниз
Скачать: CL | DM;

послать текст в поле Edit другого приложения   Найти похожие ветки 

← →
Avokain   (2007-02-16 17:45) [0]

есть 2 приложения 1 должно послать текст в поле Edit др приложения
можно ли это сделать через sendmessage и как тогда найти хэндл именно этого Edit?


← →
Calibr ©   (2007-02-16 21:27) [1]

Узнаешь Handle окна 2-го приложения (FindWindow(<класс окна>, <заголовок окна>), если не знаешь заголовок или класс заменяешь на nil)

h: hWnd;
s: String;
...
h := FindWindowEx(Handle, 0, "edit", nil);
s := "Нужный текст!";
SendMessage(h, WM_SETTEXT, 0, lParam(s));


или

s := "Нужный текст!";

EnumChildWindows(handle, @ENUM, 0);

function ENUM(h: hWnd; l: Integer): Boolean;stdcall;
var
 Buff: array[0..127] of Char;
begin
 GetClassName(h, Buff, SizeOf(Buff));

 if String(Buff) = "TEdit" then
   SendMessage(h, WM_SETTEXT, 0, lParam(s));

 Result := true;
end;


Должно получиться!


← →
vasIZmax ©   (2007-02-17 02:08) [2]

не получается у меня, хоть у баньте.

получилось только заголовок окна сменить и все. а как в едит передать текст(?), не доходит никак....


← →
Avokain   (2007-02-17 15:03) [3]

Немного поправлю Calibr"a
подсказали мне тут фишка вот в чем
h := FindWindowEx(Handle, 0, "EDIT", "То что у вас изначально задано в поле Edit"); если конечная прога НЕ на делфи

h := FindWindowEx(Handle, 0, "Tedit", "То что у вас изначально задано в поле Edit");если она НА делфи

SendMessage(h, WM_SETTEXT, 0, LongInt(PCHAR(s))); у меня так работало

приведу код :
procedure TForm1.Button1Click(Sender: TObject);
var
 h1, h2: hwnd;s:string;
begin
s:="19:06:00"
 h1 := FindWindow(nil, "AC");
 h2 := FindWindowEx(h1, 0, "TEdit", "18:06:00");
 SendMessage(h2, WM_SETTEXT, 0, longint(Pchar(s)));
end;

AC - так называется заголовок др. проги
18:06:00 - Это текст который я задал непосредсвенно при разработке др проги в свойсве Text. При чем даже если этот текст изменить в процессе хода программы то хандл все равно ловится(хз почему)

S- текст для посылки


← →
Observer ©   (2007-02-17 15:55) [4]

Используй ServerSocket и ClientSocket на вкладке Internet


← →
Avokain   (2007-02-17 18:13) [5]

Причем здесь сеть то?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
2-1171623868
vegarulez
2007-02-16 14:04
2007.03.11
Подскажите как серийник с винта считать...


15-1171442568
Empleado
2007-02-14 11:42
2007.03.11
Вот такая вот катавасия...


2-1171718834
Novichok_New
2007-02-17 16:27
2007.03.11
Проверка почты


3-1165593904
Картошка
2006-12-08 19:05
2007.03.11
Экспорт баз данных в Excel вместе с полями БД


6-1149689410
Damaty
2006-06-07 18:10
2007.03.11
SHH




   Наверх