Print-Screen unter DOS unterdrücken

Hier dürfen auch unregistrierte Besucher posten.
Antworten
Dos-Schrauber1

Print-Screen unter DOS unterdrücken

Beitrag von Dos-Schrauber1 »

Hallo,

kennt irgend jemand von euch eine Möglichkeit unter DOS die Hardcopy-Funktion zu deaktivieren?
Vielleicht sogar steuerbar?
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: Print-Screen unter DOS unterdrücken

Beitrag von DOSferatu »

Ja, ich kenne solche Möglichkeiten. Hier 'mal zwei voneinander unabhängige Vorschläge dazu:

1.) Zum Beispiel, sich in den Keyboard-INT (IRQ 1, = INT 09H) "reinhängen" und die entsprechenden Tasten vorher "abfangen". D.h. nur die Tasten weitergeben, die man will (also alle außer den "gesperrten".

- ODER -

2.) Die Unterfunktion von DOS, die diesen Hardcopy auslöst, "hooken", d.h. die entsprechende Funktion sperren.
D.h.: In der "Ralph Brown's Interrupt List" nach dieser Funktion suchen (ich nehme an, INT 21H, AH = irgendwas) und dann sich in den entsprechenden INT (also INT 21H) "reinhängen" und wenn AH = das_entsprechende_irgendwas ist, dann IRET, ansonsten eben normal zum ursprünglichen INT Vektor.

Zur Erklärung, was ich mit "reinhängen" meine:
- Interrupts sperren
- Entsprechenden INT-Vektor holen (Alter_Int_Vektor)
- INT-Vektor auf neue Aufgabe setzen
- Interrupts freigeben

Und die Interrupt-Service-Routine enthält dann an einer Stelle, wo einfach "unverändert" zum ursprünglichen Interrupt weitergegangen werden soll, einen FAR CALL zu Alter_Int_Vektor.

Wieder "Aushängen" geht halt so:
- Interrupts sperren
- INT-Vektor wieder auf Alter_int_Vektor setzen
- Interrupts freigeben

Falls Du es selbst nicht kannst und/oder der Wunsch besteht, daß ich da ein Stück Code schreibe oder eine TSR oder sowas, bitte melden.
Antworten