Главная страница
    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.039 c
3-1077839733
Rauf
2004-02-27 02:55
2004.03.28
Помогите с TDBComboBox


8-1069321670
Arsenij
2003-11-20 12:47
2004.03.28
Адресация видеопамяти с использованием Директ Ыкс


1-1078400588
ChcngerMan
2004-03-04 14:43
2004.03.28
Internet+computer


8-1069161347
Morg
2003-11-18 16:15
2004.03.28
Как сделать мгновенную перерисовку в Image


6-1074234534
noname
2004-01-16 09:28
2004.03.28
Как максимально быстро передать поток по сети?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский