File: /~heha/hs/maus32.zip/liesmich.txt

Diese Programme sollen helfen, speziell Windows NT (NT4, W2K, XP)
bedienungstechnisch auf die Sprⁿnge zu helfen.
Sie laufen jedoch auch unter Windows9x/Me, verbrauchen aber dort
etwas mehr System-Ressourcen als die seit lΣngerer Zeit existierenden
16-bit-Geschwister.

ALTGR:
Belegt die rechte Windows-Logo-Taste mit AltGr.
Wichtig fⁿr Leute, die mal mit dem alten und mal mit dem neuen
Tastaturlayout arbeiten mⁿssen, und statt \ hΣufig ▀ tippen.
Denn die Positionsverschiebung von AltGr nach links ist zwar handfreundlich,
aber was wollte Microsoft mit einer unnⁿtzen rechten Windows-Logo-Taste?
Hinweis: Die DLL ist nicht in DOS-Boxen wirksam! Dafⁿr ben÷tigt man
(zusΣtzlich) das TSR-Programm ALTGR95.COM aus der T_UND_M.ZIP.

MAGNET:
"Magnetische Fenster", die an umgebenden und Nachbarfenstern "ankleben":
Wie bei WinAmp oder KDE sollte es m÷glich sein, Fenster beim Verschieben
oder VerΣndern der Gr÷▀e an anderen Fenstern einrasten zu lassen.
Diese DLL realisiert dies ⁿber einen sog. CBT-Hook (Anzapfung fⁿr
computergestⁿtztes Training) mit geringem Ressourcenverbrauch.
Von Nachteil ist das fehlende Feedback wΣhrend des Verschiebens,
es schnappt erst beim Loslassen ein.
Deshalb wurde die Fangweite relativ klein mit 6 Pixeln vorgegeben.
Das Einrasten kann durch Drⁿcken der Strg-Taste wΣhrend des
Fallenlassens unterdrⁿckt werden.
Konfiguration: In der WIN.INI kann in der Sektion [Windows] die Fangweite
eingestellt werden, danach ist die DLL neu zu laden. snap=6

MBUTTON:
Die mittlere Maustaste (bzw. der Klick auf das Rollrad) wird meist nicht
unterstⁿtzt, oder aber auf eine Weise, die durch das Rollrad unnⁿtze ist.
Sinnvoller ist eine Belegung der mittleren Maustaste mit Doppelklick.
Mit dem Laden dieses Treibers gilt diese Belegung fⁿr alle Programme;
dann gibt es auch keine Maus-Nachrichten fⁿr die mittlere Taste mehr.
Manche Maustreiber bringen ein solches Feature mit; allerdings ist
solcherart Software hΣufig viel zu umfangreich und belegt mal wieder
einen Platz im System-Tray.

ROLLFANG:
Dass beim Ziehen an Rollbalken der Mauszeiger einen gewissen Bereich
rund um den Rollbalken nicht verlassen darf, ist eigentlich nur lΣstig,
besonders wenn man einen lΣngeren Text liest (und kein Rollrad hat)
oder beim horizontalen Rollen (z.B. Fehlermeldungen von Visual C).
ROLLFANG stellt dieses Laster ab und expandiert den Fangbereich auf den
ganzen Bildschirm. (Eigentlich sollte Microsoft dafⁿr eine Einstellung
bei "Bildschirmeigenschaften" oder "Maus-Eigenschaften" vorsehen.)
Hinweis: ROLLFANG funktioniert nur bei "echten" Windows-Rollbalken!
Der Internet Explorer ab Version 4 zeichnet eigene Rollbalken.
(Aha! Soviel zum Thema Mehrfachverwendung von Code...) Deshalb keine
Funktion im IE4; der IE5 hat selbst schon ROLLFANG-FunktionalitΣt.

WARPCURSORKEY:
Die Wiederholrate von TastenanschlΣgen lΣsst sich zwar in der Systemsteuerung
einstellen, aber eigentlich wⁿnscht man sich eine hohe Wiederholrate
nur bei den Pfeiltasten. WARPCU32.DLL erledigt genau dies.
Zugegeben, ein nicht sehr sinnvolles Programm, aber das erste in
Visual C++ erstellte Programm und in Miniaturausfⁿhrung (= 4096 Byte .DLL).

WHEEL32:
Das Mausrad hat in Σlteren Programmen keine Funktion.
Da schafft WHEEL32.DLL Abhilfe - im Gegensatz zur 16-bit-Version (TYPHOON.DLL)
ist hier die Zuordnung fenster-bezogen fⁿr h÷here StabilitΣt.
Benutzung:
 Zum Ein- und Ausschalten des Scroll-Effekts die Maus im Fenster lassen
 und das Mausrad 5mal jeweils 1 Schritt hoch und runter rollen.
 Einschaltquittung ist ein Piep wie bei OK-Fenstern.
 Ausschaltquittung ist ein Piep wie bei Abbruch-Fenstern.
Bei (neuen) Programmen, die per Mausrad skalieren, kann mit dieser Sequenz
zwischen Skalieren und Rollen umgeschaltet werden.
Ist der Mauszeiger im vertikalen Rollbalken, wird seitenweise gerollt,
ist er im horizontalen, wird horizontal gerollt.
ACHTUNG - Anders als die voranstehenden DLLs lΣuft diese nicht unter 9x/Me!


Ladevorgang:
Anders als bei 16-bit-Software muss eine 32-bit-DLL in den Adressraum einer
JEDEN Anwendung geladen (im Jargon: eingespritzt) werden. Dafⁿr wird
wiederum eine initiale Anwendung gebraucht, die die DLL lΣdt.
Um diese DLLs auch wieder heraus zu bekommen, ist Code implementiert,
der beim Beenden der die DLL _zuerst_ ladenden Anwendung (hier LLIB.EXE)
den "Einspritzvorgang" rⁿckgΣngig macht. LLIB.EXE ist deshalb stΣndig
als stummer, fensterloser Prozess aktiv. Mit dem Herauswerfen von
LLIB.EXE (z.B. ⁿber den Task-Manager nach Druck auf Strg-Alt-Entf)
verschwinden auch automatisch die von diesem Prozess geladenen DLLs;
sie ziehen sich automatisch aus allen anderen AdressrΣumen zurⁿck.

32-Bit-DLLs greifen nur in 32-Bit-Prozesse. Fⁿr 64-Bit-Prozesse
sind 64-Bit-DLLs zu benutzen (was noch zu compilieren wΣre).

Quelltexte:
Da es mir die Fu▀nΣgel hochrollt, wenn kleine Programme mal eben 100 KB
gro▀ sind, und weil die Implementierung von shared Datensegmenten
(die man fⁿr solche DLLs braucht) offenbar nur mit VC5+ m÷glich ist
(welches zu benutzen ich zu bl÷d bin;-), habe ich mich fⁿr handfesten
Turbo-Assembler entschieden.
Interessant ist auch die seit Delphi2 bestehende M÷glichkeit, OBJ-Dateien
aus .PAS zu generieren und ins Assemblerprogramm einzubinden.
(Zugegeben, die .PAS-Datei enthΣlt auch nichts anderes als Assembler.)
Dennoch ist zu beachten, dass jede geladene DLL auch RAM braucht, nΣmlich
hier (mindestens) 8K + 4K * (Anzahl der GUI-Prozesse).

Etwas spΣter ... Nun habe ich Zugang zum VC6, und die ersten Hⁿrden
mit den #pragma-Anweisungen (damit fΣngt jedes gute C-Programm an:-)
sind geschafft.

MELODIE.EXE, melodie64.exe:
Einfaches Programm zum Ansteuern des PC-Lautsprechers zur monofonen
Melodieausgabe. Kommandozeile bspw. "melodie c e g".
Ideal zur Fertigmeldung von lΣnglichen Matlab-Skripten.
Die 32-Bit-Version lΣuft auch unter 64-Bit-Windows.
Daher ist die 64-Bit-Version eher fⁿr diejenigen, die kein WoW32 wollen.

PnpEvent.EXE:
Ausgabe von Plug-And-Play-Ereignissen auf PC-Lautsprecher.
Eigentlich nur unter Windows 2000 (notfalls Windows 98) sinnvoll.
Fⁿr Windows 98 existiert in ät_und_m.zipô ein gleichnamiges Programm,
welches AnsteckgerΣusche auf die Soundkarte (wie Windows XP) ausgibt.

GerΣtemanager.reg:
Setzt Umgebungsvariablen, um mehr Informationen beim GerΣte-Manager
herauszuholen. Besonders wichtig, um bereits entfernte Netzkarten
tatsΣchlich aus dem System zu tilgen. Sonst gibt's ─rger mit DHCP.

disableport.exe, disableport64.exe:
Umschalten eines LPT- oder COM-Ports auf "deaktiviert" oder "aktiv"
(hin und her pro Aufruf). Nur fⁿr Windows 2000 und h÷her!

cycleport.dll, cycleport64.dll:
Abfragen, Einschalten, Ausschalten oder Umschalten eines Ports per
DLL-Eintrittspunkt "enableport", in ANSI oder UNICODE.
1. Parameter <portname> = Portname, bspw. "COM2" oder L"LPT1"
2. Parameter <action> = Aktionskode, 0 = abfragen, 1 = aktivieren,
				 2 = deaktivieren, 3 = umschalten
Rⁿckgabewert: 0 = Fehler, 1 = aktiviert, 2 = deaktiviert
DLL-Eintrittspunkt "cycle", in Unicode, fⁿr den Aufruf durch rundll32.dll
zum Aus- und Wiedereinschalten eines Ports. Kommandozeile bspw.:
"rundll32.dll cycleport.dll,cycle com1"

HINWEIS: Ab Windows 7 SP1 sowie Windows 8 (64 bit) funktioniert das
Programm disableport.exe sowie die Bibliothek cycleport.dll nicht mehr,
weil Windows verhindert, dass 32-Bit-Prozesse auf die GerΣte-
Installation (schreibend) zugreifen kann. Da hilft auch kein UAC-Prompt.
In diesem Fall ist disableport64.exe bzw. cycleport64.dll zu verwenden.
Detected encoding: OEM (CP437)1
Wrong umlauts? -
Assume file is OEM (CP437) encoded