Newsgroup: it.comp.os.win.xp
Titolo: Versione Sistema Operativo, mi fate una prova?

Devo testare una procedura che dovrebbe individuare correttamente tutte le
versioni di Windows dal 95 in poi.
Siccome però non li ho a disposizione tutti per fare le prove, vi chiedo se
potete darmi una mano: se avete una versione di windows non compresa
nell'elenco sottostante (sono i S.O. che ho già verificato), potete
scaricare il piccolo programmino (140kb) e dirmi se la versione che indica è
la stessa effettivamente installata, comprensiva di eventuali service pack?
http://snipurl.com/OsVer
Per il momento l'ho già verificato con:
Windows 98 SE
Windows ME
Windows 2000 Professional SP2
Windows 2000 Professional SP3
Windows 2000 Professional SP4
Windows 2000 Server SP3
Windows 2000 Server SP4
Windows XP SP1
Windows XP SP2
Windows Server 2003 Standard Edition
Grazie
-- 
Lis                 
www.alessandroghezzi.it
O'Telma Formula1:   
http://snipurl.com/otelma
Il vero signore e` lento nel parlare e rapido nell'agire (Confucio)

"Lis"
Io non clicco su un exe che NON so' da dove arriva
soprattutto se ho una cosa che posso verificare prima
come questo vbs che dovrebbe funzionare su tutti i Windows
Const OpenAsASCII      =  0
Const FailIfNotExist   =  0
Const ForReading       =  1
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sTemp = oShell.ExpandEnvironmentStrings("%TEMP%")
sTempFile = sTemp & "\runresult.tmp"
oShell.Run "%comspec% /c ver >" & sTempFile, 0, True
Set fFile = oFSO.OpenTextFile(sTempFile, ForReading, _
                                      FailIfNotExist, OpenAsASCII)
sResults = fFile.ReadAll
fFile.Close
oFSO.DeleteFile(sTempFile)
Select Case True
  Case InStr(sResults, "Windows 95") > 1 : GetOS = "W95"
  Case InStr(sResults, "Windows 98") > 1 : GetOS = "W98"
  Case InStr(sResults, "Windows Millennium") > 1 : GetOS = "WME"
  Case InStr(sResults, "Windows NT") > 1 : GetOS = "NT4"
  Case InStr(sResults, "Windows 2000") > 1 : GetOS = "W2k"
  Case InStr(sResults, "Windows XP") > 1 : GetOS = "WXP"
 ' Case Else : sResults = "Unknown"
 Case Else : GetOS = "Unknown"
End Select
MsgBox GetOS
--
Fosco

 End Select
Fosse cosě semplice non avrei dovuto fare questa procedura, no? Win2003
dov'č? In vbs riesci a distinguere anche tra le varei Advanced Server,
Datacenter Edition, Web server, ecc, ecc?
-- 
Lis                 
www.alessandroghezzi.it
O'Telma Formula1:   
http://snipurl.com/otelma
Non permettete alla lingua di oltrepassare il pensiero (A.Checov)

 Datacenter Edition, Web server, ecc, ecc?
Fai una prova  togli il
oFSO.DeleteFile(sTempFile)
o mettici davanti '''' oFSO.DeleteFile(sTempFile)
e controlla in  sTempFile che dovrebbe esserci l'output completo
prova anche nei vari sistemi a leggere questa key
Set obj = WScript.CreateObject("WScript.Shell")
WScript.Echo obj.RegRead( "HKLM\Software\Microsoft\Windows\CurrentVersion\Version")
http://www.google.it/search?biw=772&hl=it&q=%22get+windows+Version%22&btnG=Cerca+con+Google&meta=
PS:
io la prova la farei anche ma ho solo WinXP pro e win98se
--
Fosco

 io la prova la farei anche ma ho solo WinXP pro e win98se
Grazie comunque. Fortunatamente un paio di persone con S.O. poco comuni mi
hanno aiutato a risolvere un problemino
-- 
Lis                 
www.alessandroghezzi.it
O'Telma Formula1:   
http://snipurl.com/otelma
Se nessuno sa quel che tu sai, il tuo sapere serve a poco (anonimo)

 Ad ogni modo, seguendo le indicazioni di Microsoft non credo di sbagliare:
si ..... questo e' l'esempio in Visual Basic
' GetVersionEx      >>>> library Kernel
'Requires Windows NT 3.5(1) or later; Requires Windows 95 or later
'scarica API-GUIDE
http://www.mentalis.org/agnet/apiguide.shtml
http://www.mentalis.org/agnet/appdown.shtml
http://www.mentalis.org/index2.shtml
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As
Long
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 OSInfo As OSVERSIONINFO, PId As String
    'KPD-Team 1998
    'Set the graphical mode to persistent
    Me.AutoRedraw = True
    'Set the structure size
    OSInfo.dwOSVersionInfoSize = Len(OSInfo)
    'Get the Windows version
    Ret& = GetVersionEx(OSInfo)
    'Chack for errors
    If Ret& = 0 Then MsgBox "Error Getting Version Information": Exit Sub
    'Print the information to the form
    Select Case OSInfo.dwPlatformId
        Case 0
            PId = "Windows 32s "
        Case 1
            PId = "Windows 95/98"
        Case 2
            PId = "Windows NT "
    End Select
    Print "OS: " + PId
    Print "Win version:" + str$(OSInfo.dwMajorVersion) + "." + LTrim(str(OSInfo.dwMinorVersion))
    Print "Build: " + str(OSInfo.dwBuildNumber)
End Sub
--
Fosco