Einzelnen Beitrag anzeigen

soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#1

mehrmals sendmessage hintereinander ausführen

  Alt 16. Dez 2008, 09:14
hoi,

ich wollte ein Fenster 'fernsteuern' und 2 Buttons des Fensters drücken,
dazu suche ich das Fenster und wenn gefunden sende ich die jeweilige Message.

Das Problem ist das nur das erste Sendmessage 'offensichtlich' ausgeführt wird.

Die Fenster und Buttons werden alle gefunden.
Auch beim Step-By-Step durchschalten führt er 2mal Sendmessage aus - aber nur einmal
(das erste sendmessage) funktioniert (anscheinend).

Wenn das 2. SendMessage ausgeführt - hängt dann die Nachricht noch in einer Nachrichtenschlange ?
Hatte auch Postmessage ausprobiert um Nachrichten in der Schlange hintereinander abarbeiten zu lassen - auch nichts.

Wenn ich das ganze in 2 Proceduren splitte funktionierts.

Mein bisheriger Code wie er in etwa aussieht:

Delphi-Quellcode:
procedure xyz ;
var
  wndMain, wndChild: HWND;
begin
  wndMain := FindWindow('Klassenname','Fenstertitel');
  if (wndMain <> 0) then
  begin
      wndChild := FindWindowEx(wndMain, 0, 'Button', 'ButtonTitel1');
      if (wndChild <>0) then
         SendMessage(wndChild, BM_CLICK,0,0);

      wndChild := FindWindowEx(wndMain, 0, 'Button', 'ButtonTitel2');
      if (wndChild <>0) then
         SendMessage(wndChild, BM_CLICK,0,0);
  end;
end;
cya
  Mit Zitat antworten Zitat