Newsgroup: it.comp.os.win.windows7
Titolo: spiegazione scelta del 10

dicono che molti programmi usano questo codice:
  String os = System.getProperty("
os.name
");
         if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
             throw new RuntimeException(
                 "This provider is not supported on this version of
Windows");
         }
 
in pratica  chiamandolo 'Windows 9' tutti quei programmi non avrebbero
funzionato senza ricompilarli.


Non credo che funzioni proprio cosï¿œ.
 
In VB6 avevo una routine che ricavava la versione di Windows, ma usava 
un numero intero e poi ero io che abbinavo con un "Select Case" la 
stringa corretta... e Windows 9X (95/98/Me) mi pare avesse un codice 4 e 
qualcosa e non 9 :-)
 
Ora cerco il vecchio codice...
 
 
-- 
Daniele Pinna
DAPINNA.COM
 
(leva oops per rispondere)
-----
Utente Skype: dapinna
DAPINNA.COM
        :  
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 - Sito Aggiornato!!!
DAPINNA.COM
 su Facebook: 
www.facebook.com/pages/Sassari-Italy/DAPINNACOM/110085322371199
 
 


 
 
Ecco:
 
 
---
Public Function WindowsVersion() As String
 
     'GetVersionEx
Dim os As OSVERSIONINFO ' riceve la versione
Dim retval As Long ' valore di ritorno
 
os.dwOSVersionInfoSize = Len(os) ' Imposta la lunghezza della struttura
retval = GetVersionEx(os) ' legge le info sulla versione di Windows
If retval = 1 Then
     'OK
     WindowsVersion = os.dwMajorVersion & "." & os.dwMinorVersion
     If os.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
         IsWinNT = False
     ElseIf os.dwPlatformId = VER_PLATFORM_WIN32_NT Then
         IsWinNT = True
     End If
Else
     IsWinNT = False
     WindowsVersion = ""
End If
 
End Function
 
 
 
 
Sub WindowsVer()
 
     'Informazioni sul sistema operativo
     Select Case Val(WindowsVersion())
         Case Is = 4
             WinVer = WIN_95     'Windows 95
         Case Is = 4.1
             WinVer = WIN_98     'Windows 98/98SE
         Case Is = 4.9
             WinVer = WIN_ME     'Windows Millenniun Edition
         Case Is = 5#
             WinVer = WIN_2K     'Windows 2000
         Case Is = 5.1
             WinVer = WIN_XP     'Windows XP
         Case Is = 6
             WinVer = WIN_VS     'Windows Vista
         Case Is = 7
             WinVer = WIN_SV     'Windows Seven
 
         Case Else
             WinVer = WIN_NT     'Windows NT
     End Select
 
End Sub
---
 
 
Chiaramente WIN_XP, WIN_VS, WIN_SV etc sono delle Costante che 
contengono I Nomi completi.
 
Sicuramente c'ï¿œ un modo migliore... Ma questo usavo in mio vecchio 
programma :-)
 
Per 
VB.NET
 non ho sotto male il codice... ma ï¿œ sempre un numero intero


 Ecco:
 
Perche` tu in questo codice vedi il numero di versione del sistema 
operativo. Purtroppo non tutti sono furbi nel farlo o hanno interesse (e.g. 
a me serviva sapere solo se mi trovavo sotto Windows, ed ho usato String os 
= System.getProperty("
os.name
"); os.startsWith("Windows") )
 
Enrico

> Non credo che funzioni proprio così.

Windows 7 non corrisponde a 7 come valore di dwMajorVersion.dwMinorVersion, ma a 6.1
win8 a 6.2
win8.1 a 6.3
win10 a 6.4
Quindi si capisce perché win10 sia molro simile a win7+win8.1
 
-- 
http://freewareonline.org/
 
http://netuser.altervista.org/
 
http://salclem2.altervista.org/
 
 

 win10 a 6.4
 
 
Ora non ricordo se in quel programma in VB6 ho usato quel codice o un 
altro... Se riesco piï¿œ tardi controllo :-)
Magari ho preso un codice che poi non ho usato perchï¿œ risultava sballato 
:-)))
