Windows Version
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Windows Version
Hallo Forum,
Weiss jemand wie man die Windowsversion per API auslesen kann ?
Damit ich in mein Programm eine Versionskontrolle machen kann.
z.B.
If WINDOWVERSION_()<>"XP":End:EndIF
Weiss jemand wie man die Windowsversion per API auslesen kann ?
Damit ich in mein Programm eine Versionskontrolle machen kann.
z.B.
If WINDOWVERSION_()<>"XP":End:EndIF
Ich frag mich zwar warum es WinAPI sein muss aber egal:
Code: Alles auswählen
OSInfo.OSVERSIONINFO
OSInfo\dwOSVersionInfoSize = SizeOf(OSVERSIONINFO)
If GetVersionEx_(@OSInfo)
If OSInfo\dwPlatformId = #VER_PLATFORM_WIN32s
Debug "Platform: Win32s or Windows 3.1"
ElseIf OSInfo\dwPlatformId = #VER_PLATFORM_WIN32_WINDOWS
Debug "Platform: Windows 95, Windows 98, Or Windows Me"
ElseIf OSInfo\dwPlatformId = #VER_PLATFORM_WIN32_NT
Debug "Platform: Windows NT, Windows 2000, Windows XP, or Windows Server 2003 family"
EndIf
If OSInfo\dwMajorVersion = 3 And OSInfo\dwMinorVersion = 0
Debug "Windows 95"
ElseIf OSInfo\dwMajorVersion = 4 And OSInfo\dwMinorVersion = 10
Debug "Windows 98"
ElseIf OSInfo\dwMajorVersion = 4 And OSInfo\dwMinorVersion = 90
Debug "Windows ME"
ElseIf OSInfo\dwMajorVersion = 3 And OSInfo\dwMinorVersion = 51
Debug "Windows NT 3.51"
ElseIf OSInfo\dwMajorVersion = 4 And OSInfo\dwMinorVersion = 0
Debug "Windows NT 4.0"
ElseIf OSInfo\dwMajorVersion = 5 And OSInfo\dwMinorVersion = 0
Debug "Windows 2000"
ElseIf OSInfo\dwMajorVersion = 5 And OSInfo\dwMinorVersion = 1
Debug "Windows XP"
ElseIf OSInfo\dwMajorVersion = 5 And OSInfo\dwMinorVersion = 2
Debug "Windows 2003 Server family"
EndIf
If OSInfo\szCSDVersion
Debug PeekS(@OSInfo\szCSDVersion)
EndIf
Debug "Build: "+Str(OSInfo\dwBuildNumber)
EndIf
Zuletzt geändert von Deeem2031 am 25.08.2005 14:53, insgesamt 1-mal geändert.

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Er meint mit PB, z.B:
Code: Alles auswählen
Select OSVersion()
Case #PB_OS_Windows_98
MessageRequester("Info", "Windows 98")
Case #PB_OS_Windows_2000
MessageRequester("Info", "Windows 2000")
Case #PB_OS_Windows_XP
MessageRequester("Info", "Windows XP")
Default
MessageRequester("Info", "Nicht unterstützte Windows-Version")
EndSelect
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Urg
Mensch das ist mir jetzt peinlich
Ich hab jetzt erst 4 Wochen die PB3.92. Vorher hatte ich die TOPOS-Version.
Das gabs dat nich.
Irgendwie hab ich diesen Befehl immer wieder in der Hilfe übersehen.
Aber...Vielen Dank.

Ich hab jetzt erst 4 Wochen die PB3.92. Vorher hatte ich die TOPOS-Version.
Das gabs dat nich.
Irgendwie hab ich diesen Befehl immer wieder in der Hilfe übersehen.
Aber...Vielen Dank.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Dieser Befehl existiert erst seit PB 3.40 

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Schau auch mal bei Compilerdirektiven, ist manchmal auch sehr nützlich
.
Dann wird der Linux code nur dann mit im Programm sein, wenn du es unter Linux compillierst 

Code: Alles auswählen
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
; etwas Linux spezifischer Programmcode..
CompilerEndIf

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.