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 Sub
Tuosta 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.