Letzte Änderung: 2.11.97 von B. Tritsch
Zurück zum Index "PC- und MS-Windows-Support"
Windows NT unterscheidet sich sowohl für den Anwender als auch für den Entwickler drastisch von Windows for Workgroups oder Windows 95 - obwohl dies oftmals nicht auf den ersten Blick ersichtlich ist. Windows NT benutzt zwar wie Windows 95 preemptive Multitasking, lange Dateinamen, Threads, virtuellen Speicher, strukturiertes Exception Handling und eine Reihe anderer "Features", diese werden jedoch von den beiden Betriebssystemen nicht unbedingt in genau der gleichen Form zur Verfügung gestellt.
Während bei Windows 95 noch aus Gründen der Abwärtskompatibilität an vielen Stellen 16-Bit-Code verwendet wird, ist Windows NT ein reines 32-Bit-System. Dies zeigt sich insbesondere beim Multitasking, das bei Windows 95 mit vielen Kompromissen "preemptive" gemacht wurde, während die Implementation von Windows NT der "reinen" Lehre folgt. Weiterhin ist der Kernel von Windows NT auf andere CPU-Plattformen portierbar und eine Reihe von Subsystemen bauen auf diesen Kernel auf. Das Konzept der Subsysteme (auch die Laufzeitumgebung von 16-Bit-Windows-Programmen unter NT ist ein Subsystem) macht das Gesamtsystem durch strikt getrennte Speicherbereiche robuster. Dagegen ist Windows NT durch diese konzeptionellen Gegebenheiten oftmals langsamer als Windows 95.
Weitere Vorzüge von Windows NT sind dessen Integration von OpenGL in den Systemkern und die Unterstützung von UNICODE. Dazu kommt das leistungsfähigere Dateisystem NTFS mit seinen Sicherheitsoptionen sowie die Möglichkeit Hintergrundprozesse (Services, Daemons) ablaufen zu lassen, ohne daß sich jemand am System angemeldet hat. Nicht zuletzt sind die breite Verwendung von Client/Server-Mechanismen und die Unterstützung verschiedener Netzwerkprotokolle Argumente für die Verwendung von Windows NT - zumindest als Entwicklungsplattform.
Die folgenden Kapitel beschäftigen sich mit speziellen Windows NT-Entwicklerthemen. Diese sind die Verwendung von Threads, das Erzeugen von 3D-Graphiken mit OpenGL, der Zugriff auf die Windows NT Systemdatenbank - die Registry und die Programmierung mit Remote Procedure Calls.
Der start-Befehl in der DOS-Shell ermöglicht die Modifikation der Prioritätsstufe einer Applikation oder eines Prozesses. Die Syntax für den start-Befehl ist die folgende:
START: Startet ein eigenes Fenster, um das Programm oder den Befehl auszuführen.
START ["Titel"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME] [/WAIT] [/B] [Befehl/Programm]
[Parameter]
"Titel" Der Titel des neuen Fensters.
Pfad Startverzeichnis
I Die neue Umgebung soll die dem CMD.EXE beim Aufruf übergebene
sein und nicht die aktuelle Umgebung.
MIN Startet das Fenster minimiert.
MAX Startet das Fenster maximiert.
SEPARATE Startet 16-Bit-Windows-Programm in separatem Speicherbereich.
SHARED Startet 16-Bit-Windows-Programm in gemeinsamen Speicherbereich.
LOW Startet Anwendung in IDLE-Prioritätsklasse.
NORMAL Startet Anwendung in der NORMAL-Prioritätsklasse.
HIGH Startet Anwendung in der HIGH-Prioritätsklasse.
REALTIME Startet Anwendung in der REALTIME-Prioritätsklasse
WAIT Startet die Anwendung und wartet auf das Ende
B Startet Anwendung ohne ein neues Fenster zu öffnen. Die Anwendung
ignoriert STRG+C. Wenn die Anwendung nicht selbständig STRG+C
überprüft, ist STRG+UNTBR die einzige Möglichkeit, um die
Anwendung abzubrechen.
Befehl/Programm
Wenn ein interner Befehl oder eine Batch-Datei verwendet wird,
wird das neue CMD-Fenster mit Parameter /K gestartet.
Das bedeutet, daß das Fenster erhalten bleibt, nachdem der
Befehl abgearbeitet wurde.
Wenn dies nicht der Fall ist, wird das Programm entweder
als Anwendung in einem Fenster oder als Konsolenanwendung
gestartet.
Parameter Parameter, die an den Befehl oder das Programm übergeben werden
sollen.
Wenn die Befehlserweiterungen aktiviert sind, wird der Aufruf von externen
Befehlen durch die Befehlszeile oder den START-Befehl folgendermaáen verändert:
Nichtausführbare Dateien können durch ihre Zuordnung zu einem Dateityp
einfach durch Eingabe des Namens als Befehl aufgerufen werden (z.B. würde
WORD.DOC die Anwendung starten, die der .DOC-Erweiterung zugeordnet ist).
Weitere Informationen, wie Sie diese Zuordnungen innerhalb eines Befehls-
skripts ändern, finden Sie beim ASSOC- bzw. FTYPE-Befehl.
Wird eine grafische 32-Bit-Anwendung aufgerufen, wartet CMD.EXE nicht auf
das Beenden dieser Anwendung, sondern kehrt sofort zur Eingabeauforderung
zurück. Das gilt NICHT, wenn diese Anwendung aus einem Befehlsskript
heraus aufgerufen wird.
Wenn eine Befehlszeile ausgeführt wird, die mit den Zeichen CMD ohne
Erweiterung oder Pfadname beginnt, wird CMD durch den Wert der
COMSPEC-Variablen ersetzt. Damit wird es vermieden, daá man aus Versehen
eine andere, ggf. zufällige Version der CMD.EXE verwendet.
Wenn eine Befehlszeile ausgeführt wird, die mit Zeichen beginnt, die keine
Dateierweiterung enthalten, dann verwendet CMD.EXE den Wert der Umgebungs-
variablen PATHEXT, um zu bestimmen, welche Erweiterungen in welcher
Reihenfolge verwendet werden. Der Standardwert für die PATHEXT-Variable
ist:
.COM;.EXE;.BAT;.CMD
Dabei ist die Syntax dieselbe wie in der PATH-Variablen, das heißt, die
einzelnen Einträge werden durch Semikolon getrennt.
Wenn mit dem START-Befehl ein Programm bzw. Befehl aufgerufen wird und keine
entsprechende Dateierweiterung gefunden wird, aber der Name ohne Erweiterung
einem Verzeichnisnamen entspricht, wird der Explorer mit diesem Pfad
aufgerufen. Von der Befehlszeile ausgeführt entspricht das einem CD /D mit
diesem Pfad.