Seite 1 von 1
Betriebssystem ermitteln
Verfasst: Mo, 05.02.2007 00:38
von gripslund
Guten Morgen,
ist es möglich per Makro zu ermitteln, ob ich unter Linux oder Windows arbeite? Und wenn ja, wie muss ich das machen?
Vielen Dank
gripslund
Verfasst: Mo, 05.02.2007 09:08
von Toxitom
Hey gripslind,
ja, zumindest indirekt. der Basic-Befehl
liefert dir eine Kennzahl zurück, die den aktuellen GUI-Typ bestimmt. Dabei steht:
1 - für Windows (keine weitere Versionsunterschidung möglich)
2 - (wird nicht mehr unterstützt (stand mal für OS2)
3 - Mac OS
4 - Linux/Unix OS - keine weiter Unterscheidung möglich
-1 - undefiniert, nicht erkennbar, ....
Viele Grüße
Thomas
Verfasst: Mo, 05.02.2007 17:50
von gripslund
Hallo,
ich habe das eben mal ausprobiert. Aber: weder Linux noch Windows lassen sich ermitteln. Bei beiden Systemen bekomme ich 'ne 0 (Null) zurück.
Code: Alles auswählen
Dim OSfrage as Integer
OSfrage=GetGuiTyp()
print OSfrage
msgbox GetGuiTyp()
Bei beiden Ausgabevarianten "0" bzw. leer. Habe ich etwas nicht beachtet?
gripslund
Verfasst: Mo, 05.02.2007 18:36
von komma4
Laut F1 Hilfe wird ein Integer zurück gegeben.
Nach Ermittlung des GUI-Typs lassen sich spezifische Kommandos ausführen, bspw.:
Code: Alles auswählen
Sub GUI_Test
' Operating System
' Betriebssystem anhand des verwendeten Fenster-Managers ermitteln
l_OS_Index = GetGUIType()
Select Case l_OS_Index
Case 1
s_OS = "Windows"
s_rechnername = Environ("COMPUTERNAME")
s_benutzername = Environ("USERNAME")
s_benutzerdomain = Environ("USERDOMAIN")
Case 3
s_OS = "MacOS"
Case 4
s_OS = "Linux"
' die folgenden Abfragen funktionieren hier auf SuSE 9.3
's_benutzerhome = Environ("HOME")
'msgbox s_benutzerhome
's_hostname = Environ("HOSTNAME")
'msgbox s_hostname
's_hosttype = Environ("HOSTTYPE")
'msgbox s_hosttype
's_AnmeldeName = Environ("LOGNAME")
'msgbox s_AnmeldeName
's_MaschinenTyp = Environ("MACHTYPE")
'msgbox s_MaschinenTyp
's_CPU = Environ("CPU")
'msgbox s_CPU
's_Lang = Environ("LANG")
'msgbox s_Lang
's_Pfad = Environ("PATH")
'msgbox s_Pfad
Case Else
s_OS = "unbekannter Rückgabewert für Betriebssystem"
End Select
msgbox "Diese OpenOffice.org läuft unter: " & s_OS ,, "OOo Makro: Betriebssystem ermitteln"
End Sub
Geht DAS bei Dir?
Verfasst: Mo, 05.02.2007 19:19
von gripslund
Hallo Winfried,
ja DAS geht bei mir

.
Ich habe mich nochmal hingesetzt und nach Unterschieden bezüglich der zu verwendenden Befehle geschaut, und jetzt geht meine kleine Variante auch!!! Der Fehler kommt in meinem Fall von SORRY!!! Toxitom. Sicher nicht beabsichtigt, aber es gibt einen kleinen Unterschied, den ich entdeckt habe.
Toxitom und ich:
und Du:
Wobei es nicht die Groß-/Kleinschreibung ist, sondern das "e". Ich habe 'ne Weile gesucht. Aber das passiert halt. Niemand ist fehlerlos.
Jetzt geht es aber wie schon oben erwähnt.
Vielen Dank an Toxitom und Winfried.
gripslund
Verfasst: Mo, 05.02.2007 19:31
von gripslund
Nachtrag.
Auch unter WinXP-SP2 mit OOo2.0.3 getestet: läuft. Die Env.-Variablen bezüglich SuSE9.3 gehen auch unter SuSE10.0, OOo2.1.
gripslund