Entwickler-Ecke

Windows API - Nachrichtendienst (Fenster auslesen)q


Anonymous - Sa 07.06.03 21:06
Titel: Nachrichtendienst (Fenster auslesen)q
Hallo,


ich habe mal wieder ein kleines Problem:

wie kann ich das Nachrichtenfenster auslesen bevor ich es mit

SendMessage(FindWindow(nil,'Nachrichtendienst '),WM_Close,0,0);wieder schließe....

ich brauche es für eine Externe anwendung....weil netsend ist garnicht mal so schlecht um nachrichten zu versenden....


Delete - So 08.06.03 14:22

Das Label mit dem Text hat die ID -1, wenn ich mich richtig entsinne. Mit GetDlgItem holst du dir das Handle und mit WM_GETTEXT den Inhalt.


Anonymous - Di 10.06.03 12:09
Titel: k
kennt jemand den code dafür?


Anonymous - Di 10.06.03 12:14

oder wenigstens nen ansatz


Delete - Di 10.06.03 13:03


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  hWnd, hLabel: Cardinal;
  buffer: array [0..255of Char;
begin
  hWnd := FindWindow(nil'Nachrichtendienst ');
  hLabel := GetDlgItem(hWnd, -1);
  SendMessage(hLable, WM_GETTEXT, sizeof(buffer), Integer(@buffer));
  ShowMessage(String(buffer));

Ungetestet aus dem Kopf.


Anonymous - Di 10.06.03 13:31

ja gut, jetzt finde ich wenigstens das Handle, lag wohl an dem leerzeichen....

nur leider bekomme ich immer noch nicht heraus wie ich nun die nachricht aus dem nachrichtenfesneter auslesen kann.....


please help....


Delete - Di 10.06.03 13:37

OK, da du offensichtlich zu der "Copy and Paste"-Fraktion gehörst:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var
  hWnd, hLabel: Cardinal;
  buffer: array[0..255of Char;
begin
  hWnd := FindWindow(nil'Nachrichtendienst ');
  hLabel := GetDlgItem(hWnd, $0000FFFF);
  SendMessage(hLabel, WM_GETTEXT, sizeof(buffer), Integer(@buffer));
  ShowMessage(string(buffer));
end;


Anonymous - Di 10.06.03 21:51

danke....



bin halt nocht nicht so geübt in delphi.....