STRG2Cap v2.0

Von Mark Russinovich

Veröffentlicht: 1. November 2006

DownloadStrg2Cap herunterladen(48 KB)

Einführung

Strg2cap ist ein Kernelmodus-Gerätetreiber, der den Tastaturklassentreiber des Systems filtert, um Caps-Lock-Zeichen in Steuerelementzeichen zu konvertieren. Personen wie ich selbst, die von UNIX zu NT migriert wurden, werden verwendet, um die Steuerungstaste zu haben, in der sich die Caps-Lock-Taste auf der Standard-PC-Tastatur befindet, daher ist ein Dienstprogramm wie dies für unsere Bearbeitung wichtig.

Installation und Verwendung

Installieren Sie STRG2cap, die den Befehl "strg2cap /install" aus dem Verzeichnis ausführt, in dem Sie die STRG2cap-Dateien entzippt haben. Um den Typ "strg2cap /uninstall" zu deinstallieren.

Funktionsweise von STRG2cap

Bei NT 4 STRGcap ist tatsächlich ziemlich trivial. Sie fügt sich einfach an den Tastaturklassentreiber an, sodass sie Tastaturleseanforderungen abfangen wird. Für jede Anforderung wird ein I/O-Abschlussanruf angezeigt, an dem sie einen Blick auf den Scancode nimmt, der zurückgegeben wird. Wenn es sich um eine Caps-Lock handelt, ändert strg2cap sie in ein linkes Steuerelement.

Bei Win2K STRG2cap handelt es sich um einen WDM-Filtertreiber, der den Stapel des Tastaturklassengeräts über dem Tastaturklassengerät übergibt. Dies ist im Gegensatz zum Kbfiltr-Beispiel von Win2K DDK, das sich zwischen dem i8042-Portgerät und dem Tastaturklassengerät befindet. Ich habe mich entschieden, auf dem Tastaturklassegerät aus mehreren Gründen zu layern:

  • Dies bedeutet, dass die STRG2cap-IRP_MJ_READ Abfangen- und Manipulationscode zwischen den NT 4- und Win2K-Versionen gemeinsam genutzt wird.
  • Ich muss keine INF-Datei angeben und den Benutzer Geräte-Manager durchlaufen, um STRG2cap zu installieren – ich ändert einfach den entsprechenden Registrierungswert (der HKLM\System\CurrentControlSet\Class UpperFilters-Wert).

Der Nachteil meines Ansatzes ist (und dies ist je nach Ansicht ein Vorteil oder Nachteil):

  • Da ich keine INF-Datei über die Geräte-Manager installiert habe, wird der Benutzer nicht gewarnt, dass die STRG2cap-Treiberdatei nicht digital von Microsoft signiert ist.

In diesem bestimmten Fall habe ich gefühlt, dass die Vorteile die Nachteile überwiegen. Bevor Sie jedoch einen Win2K-Tastaturfilter auf STRG2cap modellieren, schlägt ich dringend vor, dass Sie das Kbfiltr-Beispiel aus dem Win2K-DDK untersuchen. Kbfiltrs Abfangenpunkt in der Tasteneingabesequenz macht es sehr einfach, dass kbfiltr Tasteneingaben in den Eingabedatenstrom einfüg.

Weitere Informationen

Weitere Informationen zum Schreiben von Filtertreibern (Treiber, die sich an andere Treiber anfügen, damit sie ihre Eingabe und/oder Ausgabe sehen können), finden Sie hier die Quellen, die Sie auschecken möchten:

  • Das Windows NT und Windows 2000 DDK-Beispiel \src\storage\filter\diskperf
  • Das Windows 2000 DDK-Beispiel \src\input\kbfiltr
  • "Untersuchen des Windows NT-Dateisystems" Von Mark Russinovich, Dr. Dobbs Journal, Februar 1997
  • Der zugehörige Dateisystemfiltertreiber Filemon

DownloadStrg2Cap herunterladen(48 KB)

Wird ausgeführt:

  • Client: Windows Vista und höher.
  • Server: Windows Server 2008 und höher.