Forum: PC-Programmierung Wie erkennen, ob Prog unter DOS o. Win gestartet wird?


von beta-frank (Gast)


Lesenswert?

Hallo All,

ich arbeite an einem "C"-Konsolenprogramm (VC++6), welches via RS232
Kommuniziert. Unter DOS bis WIN98 geht das prima mit direktem
Ansprechen des UARTs. Für XP hab ich das jetzt mit der Windows-API
erweitert.

Um nun aber die richtige Methode zur Laufzeit auswählen zu können,
benötigt das Programm die Info, ob es unter DOS..WIN98 oder XP/2000
läuft. Hat jemand eine Idee, wie ich das abfragen kann? Alternativ
ginge natürlich auch ein universell funktionierender Zugriff auf die
RS232 (falls das überhaupt geht).

Thx Frank :-)

von Thorsten (Gast)


Lesenswert?

Unter Windows gibts die API-Funktion GetVersion(), die liefert die
Versionsnummer zurück. Leider läuft die Software dann nicht unter DOS
:(

Thorsten

von Matthias (Gast)


Lesenswert?

Hi

evtl. über die Umgebungsvariable OS?

Matthias

von beta-frank (Gast)


Lesenswert?

Hauptsache ein Verfahren, das unter DOS und DOSlosem OS funktioniert.
Werd mal nach "Umgebungsvariable,..." googeln.

:-)

von René König (Gast)


Lesenswert?

"Für XP hab ich das jetzt mit der Windows-API erweitert."

Das selbe Programm läuft auch auf der Windows 98 Console.

Ich verwende jedenfalls ausschliesslich API zum Zugriff auf die
Serielle und habe die Programme erfolgreich von 95A bis XP SP2 im
Einsatz.

Unter DOS geht das natürlich nicht, aber mit dem VC6 kannst Du sowieso
nicht für DOS compilieren.

von Rufus T. Firefly (Gast)


Lesenswert?

... stimmt nicht ganz, er könnte ja einen sogenannten "DOS-Extender"
(Pharlap) verwenden. Älteren VC++-Versionen (2.0) lag sowas sogar als
Testversion bei.
Damit kann man 32-Bit-Programme auch unter DOS laufen lassen - aber wer
will das schon?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.