Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.033 c
3-1077701924
Iwanttolearndelphi
2004-02-25 12:38
2004.03.28
Вопрос о выборе технологии...


1-1078949604
White
2004-03-10 23:13
2004.03.28
Преобразование типов! (Вопрос второй)


8-1067867901
MAXHO
2003-11-03 16:58
2004.03.28
Звук, Звук и ещё раз звук......


14-1077706250
Morg
2004-02-25 13:50
2004.03.28
Оптимальный вариант передачи данных


7-1073722800
Malwa
2004-01-10 11:20
2004.03.28
Как заменить стандартные часы Windows в системном трее на свои





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский