Недавно добавленные исходники

•  TDictionary Custom Sort  502

•  Fast Watermark Sources  868

•  3D Designer  1 799

•  Sik Screen Capture  1 454

•  Patch Maker  1 457

•  Айболит (remote control)  1 387

•  ListBox Drag & Drop  1 152

•  Доска для игры Реверси  21 138

•  Графические эффекты  1 330

•  Рисование по маске  1 271

•  Перетаскивание изображений  1 082

•  Canvas Drawing  959

•  Рисование Луны  795

•  Поворот изображения  753

•  Рисование стержней  801

•  Paint on Shape  485

•  Генератор кроссвордов  747

•  Головоломка Paletto  659

•  Теорема Монжа об окружностях  837

•  Пазл Numbrix  606

•  Заборы и коммивояжеры  835

•  Игра HIP  549

•  Игра Go (Го)  522

•  Симулятор лифта  543

•  Программа укладки плитки  504

•  Генератор лабиринта  560

•  Проверка числового ввода  517

•  HEX View  595

•  Физический маятник  522

•  Задача коммивояжера  554

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Связь между приложениями



Оформил: DeeCo

{ 
You can perform communication between your application using Windows messages 
exchange mechanism. We can use HWND_BROADCAST value for first parameter for 
SendMessage function for suppressing finding of forms' in other applications HANDLE. 
For using HWND_BROADCAST we should register our messages in Windows. 
In example below we will inform about our form's top position) 

Das Beispiel zeigt, wie zwischen zwei Applikationen eine Meldung (Message) 
verschickt werden kann. Die Meldung mit wird mit SendMessage verschickt. 
Der erst Parameter ist HWND_BROADCAST, beim zweite ist unsere Message. 
Das untenstehende Beispiel informiert z.B uber die Top-Position unserer Form}


 // 1. Define type of your message structure, it could be something like this: 
// 1. Definiere eine eigene Message Struktur: 


type
   TWMMYMessage = record
     Msg: Cardinal;   // ( first is the message ID ) 
    Handle: HWND;    // ( this is the wParam, Handle of sender) 
    Info: Longint;   // ( this is lParam, pointer to our data) 
    Result: Longint;
   end;

   // 2. Override your form''s DefaultHandler method and add 
  //    method for handling your message, like this 
  // 2. Die DefaultHandler Methode zu uberschreiben 

  TForm1 = class(TForm)
     ...public
     { Public declarations }
     ...procedure DefaultHandler(var Message); override;
     procedure WMMYMessage(var Msg: TWMMYMessage);
     ...end;


   // 3. Declare message variable: 
  // 3. Die Message-Variablen deklarieren: 

var
   WM_OURMESSAGE: DWORD;

   // 4. Insert realisation of DefaultHandler and our message handler methods: 
  // 4. DefaultHandler Implementation: 

procedure TForm1.DefaultHandler(var Message);
 var
   ee: TWMMYMessage;
 begin
   with TMessage(Message) do
   begin
     if (Msg = WM_OURMESSAGE) then
      begin
       ee.Msg    := Msg;
       ee.Handle := wParam;
       ee.Info   := lParam;
       // Checking if this message is not from us 
      if ee.Handle <> Handle then
         WMMYMessage(ee);
     end
     else
       inherited DefaultHandler(Message);
   end;
 end;

 procedure TForm1.WMMYMessage(var Msg: TWMMYMessage);
 begin
   label1.Caption := Format('Our another form handle :%d', [Msg.Handle]);
   Label2.Caption := Format('Our another form top :%d', [Msg.Info]);
 end;

 // 5. Add registration of your message that you could 
//    handle the HWND_BROADCAST messages: 
// 5. Die Message registrieren. 

initialization
   WM_OURMESSAGE := RegisterWindowMessage('Our broadcast message');

   // 6. Add the message sending somewhere: 

procedure TForm1.Button1Click(Sender: TObject);
 begin
   SendMessage(HWND_BROADCAST, WM_OURMESSAGE, Handle, Top);
 end;




Похожие по теме исходники

Сообщения между процессами Windows




Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram