Frage

Sie können von PawSense , ein Nur-Windows-Dienstprogramm, das Tastenanschläge vor einer Eingabe verhindert wenn es glaubt, dass es eine Katze oder ein anderes Tier auf dem Unsinn Eingabetastatur tippen wie „zlxkkkkkkkk;“. Es scheint wie ein Spaß-Projekt in meiner Freizeit zu tun, aber ich habe mich gefragt, über einige Details davon zu implementieren.

Ich glaube, ich könnte die Mustererkennung ein Teil davon tun, entweder mit hartcodierte Heuristik oder irgendeine Art von Mustererkennungsalgorithmus verwendet (was ich habe, bevor ausgesetzt war und sich wohl fühlen). Meine Frage ist, über die Systemprogrammierung Seite der Dinge und die Logik, wie Sie Eingabe blockieren würden.

Sie müssen Ihre Anwendung beobachtet Eingabe haben und eine Herausforderung darstellen, wenn Sie Katze Typisierung erkennen. Möchten Sie einen Puffer der letzten Tastenanschläge halten und sie nur durchgelassen, wenn sie nicht-Katze Typisierung war? Oder wenn es auftritt Katze Typisierung, würden Sie lassen nur eine kleine Anzahl von vor der Eingabe blockiert? Was die eigentliche Logik würde Sie verwenden möchten würden?

Wie für die tatsächliche Mechanik der Sperreingang in, sagen wir, C #, gibt es weitere Fragen zu dieser Website. Meine Frage, zu wiederholen, ist das, was Logik, die Sie und Schreibblock Katze zu erkennen, verwenden würden.

War es hilfreich?

Lösung

Ich würde warten, bis ich denke, dass es eine Katze auf der Tastatur, dann den Eingangsblock, als ein Puffer problematisch sein kann.

Zum Beispiel, wenn ich eingeben und Schaltfenster schnell, Schreibarbeiten, wie würden Sie bestimmen, wohin die Tastenanschläge sein?

es so einfach halten, wie es sein muss.

Andere Tipps

Sie müssen schauen in einen WIN32 system Haken Einführung . Dieser MSDN-Artikel die Grundlagen dieser (Aufmerksamkeit deckt gibt es sowohl Anwendung oder Thread-Ebene Haken und systemweiten Haken).

Wenn Sie verstehen, dass, müssen Sie mehrere Tastatur bezogene Nachrichten, WM_KEYUP sicher zu fangen, ein paar andere WM_KEYxxxx Nachrichten als auch, je nach Bedarf).

Sie müssen dann die Logik einzuführen, ob Tastenanschläge gültig sind oder Kauderwelsch, und entweder Pass auf die Nachrichten entscheidet (so dass sie schließlich auf die Anwendung rieseln, die den Fokus hat) oder sie ignorieren.

Ohne etwas darüber zu wissen, würde ich es auf stützen beginnen, wie langen Tasten gedrückt werden und nicht auf dem, was Taste tatsächlich gedrückt werden, zu denken, dass ein Tier nicht einfach wird eine Taste drücken und loslassen sehr schnell, dann eine andere usw., ist aber eher auf einer Reihe von Tasten pausieren.

Wenn Sie also einfach Zeit Drücken von Tasten, denke ich, dass funktionieren könnte.

Denken heraus Last. Ich würde mit so etwas wie folgen beginnen:

  1. Warten Sie keine Benutzeraktivität für wie:. 2 Minuten Zeit
  2. Starten Sie die App
  3. Hören Sie Tastatur Hits
  4. die eingegebenen Schlüssel passt, wenn es im Wörterbuch
  5. existiert
  6. Blockieren Sie die Tastatur nach sechs oder sieben.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top