AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Tastatur hooks: in manchen Anwendungen doppelte Buchstaben

Tastatur hooks: in manchen Anwendungen doppelte Buchstaben

Ein Thema von changlee · begonnen am 13. Aug 2009 · letzter Beitrag vom 14. Aug 2009
Antwort Antwort
changlee

Registriert seit: 2. Dez 2004
127 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Tastatur hooks: in manchen Anwendungen doppelte Buchstaben

  Alt 13. Aug 2009, 22:10
Hallo,

ich habe vor eine Art Makro-Rekorder zu schreiben, um einen Prozess sehr oft automatisch hintereinander ausführen zu lassen.
Hab mich hier im Forum etwas schlau gelesen und verwende zum Abfragen der Tastatur key hooks (siehe Quelltext unten).

Wenn ich etwas im Text-Editor schreibe werden die Buchstaben ganz normal geloggt. Wenn ich jedoch etwas in mozilla eingebe, dann werden die Buchstaben doppelt geloggt. Beim schreiben im Mailfenster von Outlook sogar vierfach.

Kann mir jemand sagen, wie ich diese Problem in Griff bekomme?

Hier mein Quelltext:

Delphi-Quellcode:
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var s:string;
begin
//es ist ebenfalls moeglich die Bearbeitung an eine Bedingung zu knuepfen
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE: exit; //wenn code kleiner 0 wird nix gemacht
    FALSE:
      begin
        //Hier kann jetzt alles bearbeitet werden
        if (lParam and (1 SHL 31) <> 0) then begin
          s:=GetCharFromVirtualKey(wParam);
          AppendStringToFile(s,filename);
        end;
      end;
  end;
end;
  Mit Zitat antworten Zitat
timurlenk

Registriert seit: 3. Jul 2009
3 Beiträge
 
#2

Re: Tastatur hooks: in manchen Anwendungen doppelte Buchstab

  Alt 14. Aug 2009, 13:08
das sieht ok aus.. ich habs nur ein klein bischen anders gemacht indem ich mit char(wparam) gearbeitet hab

in der dll habe ich nicht in die datei geschrieben ich habs über die exe gemacht.. mit sendmessage und dann hab ichs in der exe weiterverarbeitet

sollte aber fast das selbe sein

wenn du dir mal ein anderes hook beispiel ansehen willst such mal bei google nach library HkLib; delphi
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Tastatur hooks: in manchen Anwendungen doppelte Buchstab

  Alt 14. Aug 2009, 13:12
Du könntest testweise mal den LParam mitloggen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf