Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
15.02.2002, 18:14
feigling



Hmm, Topic war zu lang. Sollte eigentlich heißen:
Delphi: Tastaturanschläge von Windows in inaktivem Programm speichern

Zu aller erst muss ich sagen, dass ich diese Frage schon beantwortet bekommen habe (in nem anderen Forum, weil das Thwforum down war), aber dort habe ich "nur" einen Hinweis auf eine Komponente bekommen (http://www.bome.com/delphi/watch). Das würde mir auch eigentlich reichen, aber ich frag mal trotzdem, ob vielleicht jemand ne andere Methode kennt, bei der man keine Komponenten braucht.

Also, ich hab folgendes Problem. Es ist schwierig zu beschreiben, aber ich hoffe, dass ihr das versteht =).
Ich möchte ein Programm schreiben, dass alle Tastaturanschläge in einem Memo auflistet, obwohl das Programmfenster nicht aktiv ist.
Das kann man sich jetzt am Besten verdeutlichen, indem man einfach ein neues Projekt erstellt und dort ein Memo reingibt und das Programm dann kompiliert. Wenn man nun etwas schreibt, dann werden alle Buchstaben im Memo sichtbar. Ok und jetzt klickt man auf den Destop, so dass das Programm inaktiv ist und man tippt nochmal was ein. Es erscheint nichts, da das Fenster nicht aktiv ist. Mein Programm soll aber auch bei inaktivem Fenster die getippten Buchstaben speichern. Also wenn das Fenster nicht im Vordergrund oder versteckt ist. Es muss ja nicht sein, dass es automatisch im Memo erscheint. Ich hoffe, dass jemand weiß, ob und wie das geht.
Ich weiß, dass wenn man ne Taste drückt, dass dann jedes Programm von Windows ne Message bekommt und die dann verarbeitet und wenn sie nicht für das Programm bestimmt ist oder das Programm inaktiv ist zurücksendet. Ich denke mal, dass mein Programm dann die Message sofort zurücksenden würde, da es ja inaktiv ist. Nun wollte ich wissen, ob es möglich ist, die message irgendwie abzugreifen und die in nem String zu speichern.
Ich hoffe, dass ich das jetzt verständlich erklären konnte.
Vielen Dank schonmal im Vorraus.

--


Dieser Beitrag wurde am 15.02.2002 um 18:16 von feigling bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
15.02.2002, 21:34
Another1



if(HIWORD(GetAsyncKeyState(WelcheTaste)) > 0) then
begin
blabla;
end;

so in etwa könntest du das abfragen

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
002
15.02.2002, 21:37
Retro



Ich würde das mit nem Hook machen, wies mit A1's Methode steht weiss ich net (?).

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
003
15.02.2002, 21:54
feigling



hmm, meinst du das sowas geht @ a1 ?
Also, das Fenster soll ja inaktiv sein, also ein anderes Fenster soll im Vordergrund sein. Ich probier es einfach aus :)
Wenn es nicht klappt, auch egal.

Dann nehm ich halt die Komponente.

@ Retro Die Kompo ist ein Hook.
Ka, wie man sowas selber proggt, aber ich stelle fest, dass Thema ist doch sehr kompliziert (hab es mir so einfach vorgestellt =)

Aber trotzdem nochmal vielen Dank an euch beide :)

--

zum Seitenanfang zum Seitenende Profil || Suche
004
15.02.2002, 22:00
Retro



Ich wusste doch dass ich mal nen Tutorial zu nem Keylogger gesehen habe: http://www.tutorials.delphi-source.de/hooks/ :)

Siehste, wie ich gesagt habe, hooks! *a1-die-zunge-rausstreck* :P

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
005
15.02.2002, 22:52
Tron



jup, am besten mit systemhook (was glaubt ihr, wie das all die trojaner machen; was hast du vor feigling? *g*)
fuer info ueber systemhooks am besten im M$DN nachgucken

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
006
15.02.2002, 23:33
Retro



...die größte Hackercommunity! *g*

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
007
15.02.2002, 23:53
Tron



hackercommunity? m$ ist nicht mal faehig ein rechteck richtig zu definieren...

aus der msdn:
"A rectangle is a four-sided polygon whose opposing sides are parallel and equal in length"
das definert ein paralellogramm und kein rechteck!

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
008
16.02.2002, 00:02
KhanRKerensky



Aber ein Paralellogramm kann in einem Fall auch ein Rechteck sein ;)

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
009
16.02.2002, 08:31
Tron



aber im allgemeinen ist ein paralellogramm KEIN rechteck.
ein rechteck definiert sich ganz einfach: ein viereck, das 3 innenwinkel mit je 90° hat.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
010
16.02.2002, 13:30
feigling



keine Angst Tron, dass Programm kommt dann nicht an ie Öffentlichkeit :)
Wollte das nur mal ausprobieren, weil es ja irgendwie gehen müsste und dann hat mich halt die Programmiererlust gepackt und jetzt versuch ich halt mal, so ein Programm zu machen.

@a1 das geht nicht. ich glaube, dass ist eh nur, wenn ein Programm aktiv ist. So ähnlich hatte ich das schon vorher ausprobiert, nur ohne HIWORD. Da hatte ich neue Hoffnung, dass ich einfach nur das Wörtchen vergessen hatte.

@Retro danke, sowas habe ich gesucht. Die Seite kenn ich auch, aber hab das Tut noch garnicht gesehen, obwohl ich das danach mit rar schonmal ausprobiert hatte. Tja, ich glaube, ich werde alt *g*

--

zum Seitenanfang zum Seitenende Profil || Suche