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

Принимать сообщения и их обрабатывать. как бы интерфейс.   Найти похожие ветки 

← →
MadGhost ©   (2004-01-17 17:37) [0]

Здравствуйте уважаемые мастера. У меня к Вам такой вопрос!!!
Как реализовать в обычной программе, прием и обработку сообщений от Windows. Т.е. например есть программа, где то в трее сидит, или в сервисах, не суть, она работает.... и что то делает. Управление этой программы осуществляется с помощью другой программы, которая ищет это окно, через FindWindow(...) и посылает ему сообщение SendMessage(handle,...) вот, а та в свою очередь что нибудь делает, принимая это сообщение.
так вот как реализовать прием этих сообщений в программе?


← →
Nick Denry ©   (2004-01-17 20:24) [1]

crazy variant : СДЕЛАЙ МЕНЮ   %-)


← →
MadGhost ©   (2004-01-17 22:32) [2]

однако.
я видел такой вариант в winamp т.е. как бы реализован API интерфейс к программе, прибавление убавление громкости, запуск файла и т.д.
хотя в принципе я видел такую возможность, в книжке почитал.


← →
sniknik ©   (2004-01-18 02:36) [3]

скомпили и запусти
сначала это
D:\Program Files\Borland\Delphi7\Demos\ActiveX\OleAuto\AutoServ\memoedit.dpr
после это
D:\Program Files\Borland\Delphi7\Demos\ActiveX\OleAuto\AutoServ\autodemo.dpr
(диск D замени на актуальный (свой))

все. как говорится наслаждайся. ;о) (по секрету, тоже самое можно сделать и с громкостью запуском файлов и т.д. можно сделать чтобы проги, управляемай и управляющая, были на разных машинах DCOM называется)


← →
Diamond Cat ©   (2004-01-18 03:08) [4]

если программа написанна на API то в функции WinProc описываешь сообщени которые ты хотел бы обрабатывать сам к примеру
function WinProc (hWnd: THandle; nMsg: UINT;
 wParam, lParam: Cardinal): Cardinal; export; stdcall;
begin
 Result := 0;
 case nMsg of
 Wm_timer:   что-то делаем ;
   wm_lButtonDown:  begin
     MessageBox (hWnd, "Окно закрывается",
       "Мое окно", MB_OK);
       PostQuitMessage (0);
при нажатии на окно левой кнопкой мыши вылезет месаджбох
       end;
   wm_Destroy:
     PostQuitMessage (0);
  wm_Close:
     PostQuitMessage (0);
   else
все остальные сообщения которые ты не обработал сам переходят на стандартный обработчик
    Result := DefWindowProc (hWnd, nMsg, wParam, lParam);
 end;
end;
если программа на VCL
то примерно тоже при перехвате оконной процедуры wndproc
объявляем
 protected
   procedure WndProc(var Message: TMessage); override;
..................
procedure TForm1.WndProc(var Message: TMessage);
begin
 inherited WndProc(Message);
 case Message.Msg of
  wm_lbuttondown: делаем что-то
 end { of case };
end;



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

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



Память: 0.46 MB
Время: 0.019 c
1-1078491561
Canon
2004-03-05 15:59
2004.03.28
Запись файла в Excel


4-1074440872
xamlo
2004-01-18 18:47
2004.03.28
работа с реестром?


14-1078022976
Думкин
2004-02-29 05:49
2004.03.28
С днем рождения! 29 февраля.


3-1077137878
ser_ega
2004-02-18 23:57
2004.03.28
BDE


14-1078064676
blackweber
2004-02-29 17:24
2004.03.28
как загрузить комп без клавиатуры?




   Наверх