![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение другой программе. [D5, Win95/98]
DenKop © (2002-04-11 13:35:00)Не принимает сообщение программа?!!
Посылаю вот так:
procedure TForm1.Button1Click(Sender: TObject);
VAR
Wnd : hWnd;
buff: ARRAY [0..127] OF Char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO
BEGIN
IF (IsWindowVisible(Wnd)) AND
(GetWindow(Wnd, gw_Owner) = 0) AND
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
THEN
BEGIN
GetWindowText(Wnd, buff, sizeof(buff));
if (StrPas(buff)="Project1") then
begin
SendMessage(WND,1000000,0,0);
ShowMessage(StrPas(Buff)+" Handle="+IntToStr(wnd));
Exit;
end;
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
end;
Пытаюсь принять вот так:
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message = 1000000 then ShowMessage(IntToStr(Msg.message));
end;
После посылки сообщения ничего не происходит.Не поскажет ли кто, что я делаю не правильно?
Song (2002-04-11 15:05:00) [21]2Игорь Шевченко © (11.04.02 14:10)
Да ну да! С чего это вдруг?
Игорь Шевченко (2002-04-11 14:10:00) [22]День добрый,
Application.OnMessage получает только те сообщения, которые поставлены в очередь по PostMessage. Сообщения по SendMessage туда не попадают.
С уважением, Игорь Шевченко