Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Tastendrücke systemweit abfangen (https://www.delphipraxis.net/23723-tastendruecke-systemweit-abfangen.html)

Delphi-Noobie 8. Jun 2004 17:05


Tastendrücke systemweit abfangen
 
Hi,

wie kann ich bei einem Programm Tastendrücke wie "A" oder "2" abfangen, auch wenn ich nicht grad am Programm arbeite, dass dann zum Beispiel eine Nachricht kommt?? Also if key=a then showmessage oder so aber halt systemweit. :gruebel:

Luckie 8. Jun 2004 17:12

Re: Tastendrücke systemweit abfangen
 
Hier im Forum suchenRegisterHotkey ist das, was du suchst.

Delphi-Noobie 9. Jun 2004 22:09

Re: Tastendrücke systemweit abfangen
 
ok das hat ja geklappt damit:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
  procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
    { Private declarations }
  public
    { Public declarations }
  end;
 const ID_a= ord('A');

var
  Form1: TForm1;
  implementation

{$R *.dfm}

procedure TForm1.WMHotKey(var Msg : TWMHotKey);
begin

  if Msg.HotKey = ord('A') then begin
    showmessage('A');
  end;
   end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, ID_a, 0, ord('A'));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, ord('A'));
end;

end.
Aber wenn ich jetzt zum Beispiel ein "A" in eine Textdatei schreiben will währen das Programm läuft dann macht er nix! is der key solange deaktiviert solange das Programm läuft und wie kann ich das verhindern, dass man trotzdem noch was schreiben kann?

SirThornberry 10. Jun 2004 06:46

Re: Tastendrücke systemweit abfangen
 
So wie es aussieht wirst du um hooks nicht herumkommen denn RegisterHotkey verwirft den Hotkey so das dieser nie in der anderen Anwendung ankommt

Delphi-Noobie 10. Jun 2004 19:02

Re: Tastendrücke systemweit abfangen
 
könntest du da mal ein Beispiel zeigen wie das geht plz? :P

c113plpbr 10. Jun 2004 20:59

Re: Tastendrücke systemweit abfangen
 
Assarbad hat da mal ein gutes tutorial geschrieben ... such einfach mal danach hier im forum

ciao, Philipp

Plague 10. Jun 2004 21:02

Re: Tastendrücke systemweit abfangen
 
Also ich muss sagen, dass mich solche Programme immer etwas unruhig machen, die alle Tastenaktivitäten aufzeichnen bzw. registrieren.
Denn nehmen wir mal an ich bin in meinem Online-Banking oder logge mich bei Ebay (oder sonst wo) ein. Dann wäre es ein leichtes, mein Passwort bzw. meine Daten an eine e-Mail Adresse oder ähnliches zu schicken.

Das aber nur mal am Rande ;)

Gruß
Thomas

Delphi-Noobie 11. Jun 2004 16:37

Re: Tastendrücke systemweit abfangen
 
irgendwie seh ich bei dem Tutorial nicht durch kann mir jemand mal den Code schreiben, wie ich eben Tastaturdrücke außerhalb des Fensters erkennen und reagieren kann aber halt trotzdem noch weiterarbeiten kann im Hintergrund z.B in Word oder so.

Meflin 11. Jun 2004 17:11

Re: Tastendrücke systemweit abfangen
 
ka was du jetzt wirklich brauchst, villeicht sind auch Hier im Forum suchenHooks das was du suchst. dazu gibts hier in der dp schon mehr als genug fnuktionierende codes, nciht zuletzt luckies keylogger in der open source sparte!

Delphi-Noobie 11. Jun 2004 18:13

Re: Tastendrücke systemweit abfangen
 
Ich hab mir den Quellcode von dem keylogger mal angeguckt hat aber nix gebracht da ich da nicht durchsehe, da dort nichtmal eine Form1 oder so existiert oder irgendwas on create oder sonstwas ich brauch nen einfachen Code, der meinetwegen alles was ich drücke in einem label schreibt während es im Hintergrund läuft zum Beispiel. geht das denn nicht einfacher?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.
Seite 1 von 2  1 2      

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