Entwickler-Ecke

Windows API - auf fremde Messages von einem programm reagieren!


msickel - Do 03.01.08 11:42
Titel: auf fremde Messages von einem programm reagieren!
Hallo, ich hab nochmal eine Frage!

mit folgendem Code habe ich das Handle von einem Grid ermitelt und kann ja so mit der SendMessage Funktion die Postition des Scrollbars ermitteln und auch verändern



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
  wnd :=  FindWindow('ThunderRT6Form''Gesprächsmonitor - Vertical TeleVantage ViewPoint');
  wnd :=  FindWindowEx(wnd, 0'ABSDynaBarCls'nil);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6PictureBox'nil);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6UserControl'nil);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6UserControl'nil);
  wnd :=  GetWindow(Wnd, GW_HWNDNEXT);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6UserControl'nil);
  wnd :=  FindWindowEx(wnd, 0'ABSDynaBarCls'nil);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6PictureBox'nil);
  wnd :=  FindWindowEx(wnd, 0'ThunderRT6UserControl'nil);
  wnd :=  FindWindowEx(wnd, 0'VSFlexGrid'nil);


  if wnd <> 0 then
  begin
    SendMessage( wnd, WM_VSCROLL, SB_BOTTOM, 0);
    iPos := GetScrollPos(wnd,SB_VERT);
  end;


Wie kann ich jetzt aber z.B auf Messages (WM_WindowPosChanging oder ähnliche) die von der fremden Anwendung kommen reagieren?

für ein kleines Code-Sample wäre ich dankbar

Martin


DrRzf - Fr 04.01.08 16:55

Nachrichten werden von deiner anwendung automatisch abgearbeitet.
In dem anderen programm wurde auch keine extra procedure dafür geschrieben um ''extra'' auf diese nachricht von dir zu reagieren.

hast du zb eine standardprocedure in deinem programm


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender:TObject);
begin
  //dein source
end;


passiert das selbe ob du den button selbst klickst oder ein anderes programm ein MB_Click an diesen button schickt.