Форум: "WinAPI";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизПринимать сообщения и их обрабатывать. как бы интерфейс. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c