Välistä on hyvä tietää, millä Windows-versiolla ohjelmaa ollaan ajamassa. Tämä Visual Basic ohjelma tutkii Windowsin version GetVersionExA-funktion avulla.
Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Sub Form_Load()
Dim versio As OSVERSIONINFO, x As Integer
With versio 'alustukset
.dwOSVersionInfoSize = 148
.szCSDVersion = Space$(128)
End With
x = GetVersionExA(versio)
AutoRedraw = True
Select Case versio.dwPlatformId
Case 1
Select Case versio.dwMinorVersion
Case 0
Print "Windows 95"
Case 10
Print "Windows 98"
Case 90
Print "Windows ME"
End Select
Case 2
Select Case versio.dwMajorVersion
Case 4
Print "Windows NT"
Case 5
Select Case versio.dwMinorVersion
Case 0
Print "Windows 2000"
Case 1
Print "Windows XP"
End Select
End Select
Case Else
Print "Tunnistamaton"
End Select
End SubTuosta voi todella olla hyötyä. Vanhemmat Windowsit kun eivät enää tue kaikkea, mitä uusimmat ohjelmat vaativat.
Olisko tuota mahdollista saada XP:n tapauksessa selvittämään, onko järjestelmä XP Home vai XP Pro?
Hieno!
Homman voi tehdä yhdellä rivilläkin! (ja se on tarkempikin!)
Shell "ver.exe"
Vinkki taitaisi tarvita uusia versionumeroita. En kyllä keksi montakaan tilannetta, jossa tästä olisi nykypäivänä hyötyä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.