No dobre, takže: Spomenul som si, že zdrojáky ku knihe, ktoré boli na CD som si skopíroval do počítača a pomocou fulltextu som nakoniec našiel zdroják, ktorý som chcel, či mi niekto nenapíše. Jedná sa o zachytenie všetkých správ a ich počítanie. No takže zistil som, že ak okno má focus, tak správu dostane, ak nemá focus, ale je nad ním kurzor myši, tak tiež. Ak nie je nad ním korzor, tak správu nedostane. Mám teda zachytené správy, ale zistil som, že správa nie je objekt, ale záznam a teda neviem zistiť jej názov. Tu je výpis programu: Vie mi niekto poradiť, ako zistím názov správy?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
PocetZprav: Integer; // atribut uchovavajici dosavadni pocet doslych zprav
// procedura AppOnMessage bude spustena vzdy po doruceni jakekoliv zpravy
procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := 'Počet zpráv: 0';
Button1.Caption := '&Do seznamu';
Edit1.Text := '';
Application.OnMessage := AppOnMessage; // svazeme udalost OnMessage a metodu AppOnMessage
PocetZprav := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// pokud neni editacni pole prazdne, pridame txt do seznamu
if Edit1.Text <> '' then ListBox1.Items.Add(Edit1.Text);
end;
procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean);
begin
Inc(PocetZprav); // zvysime citac zprav
// upravime titulek formulare
Caption := 'Počet zpráv: ' + IntToStr(PocetZprav);
end;
end.