Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto....Quale versione di windows è ?

Ciao a tutti,
    prima di inviarvi questa domanda ho fatto qualche ricerca ma niente.
Come faccio a distinguere i vari sistemi operativi per capire quale è la
cartella di sistema?
Grazie

 cartella di sistema?
Usa l'API GetSystemDirectory

 Usa l'API GetSystemDirectory
Grazie mille ma non funziona con XP

 ha scritto nel messaggio
news:YxK2b.144726$cl3.4...@news2.tin.it...


 Grazie mille ma non funziona con XP
Questa č grossa :)
Piuttosto diciamo che non sei riuscito a farla funzionare :)
Vado a intuito: con le api devi inizializzare le stringhe, quindi prima 
di chiamarla fai un bel
strPath = String$(255, 0)
Dai un occhio a 
www.allapi.net
 e scaricati l'api guide.
Ciao


Ma non si riesce anche con Environ?
Ciao
Alberto

 Ma non si riesce anche con Environ?
anche cosi':
Set oShell = CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
sTemp = oShell.ExpandEnvironmentStrings("%TEMP%")
sTempFile = sTemp & "\runresult.tmp"
oShell.Run "%comspec% /c ver >" & sTempFile, 0, True
Set fFile = fs.OpenTextFile(sTempFile, 1, 0, 0)
sResults = fFile.ReadAll:fFile.Close
fs.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

 anche cosi':
[cut]
Non che l'abbia mai usato gran che, ma credo che vada più o meno sempre:
Debug.Print Environ("WINDIR")
Debug.Print Environ("OS")
Comunque, conoscere il sistema operativo non serve a niente per conoscere il
percorso di sistema, visto che è selezionabile in fase di installazione.
Ciao
Alberto

 selezionabile in fase di installazione.
Non ho piu' il post iniziale vado a memoria :
penso che %windir% sia quello che serve
Credo che questo sotto funzioni su qualsiasi windows
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run("%windir%\Desktop")
'oShell.Run("%windir%\Temp")
'oShell.Run("%windir%\System")
E comunque i percorsi di sistema anche se "inusuali"
si possono ottenere semplicemente leggendo le chiavi nel registro
Set oShell = WScript.CreateObject("WScript.Shell")
Set filesys = CreateObject("Scripting.FileSystemObject")
SH_Key = oShell.RegRead("HKCU\Software\Microsoft\Windows\"&_
 "CurrentVersion\Explorer\Shell Folders\Cookies")
PH_Key =oShell.RegRead("HKLM\Software\Microsoft\Windows\"&_
               "CurrentVersion\ProgramFilesDir")
WScript.Echo SH_Key
WScript.Echo PH_Key
'oShell.run SH_Key
Set filetxt = filesys.CreateTextFile("c:\SysFolder.ini", True)
filetxt.WriteLine "CookiesPath:  " &    SH_Key
filetxt.WriteLine "ProgrammiPath:  " &    PH_Key
--
Fosco

 'oShell.Run("%windir%\System")
come sopra, se sei in multiutenza sulla stessa macchina una cosa del
genere non ti porta da nessuna parte, perdipiù win2k salva le
impostazioni utenti nella cartella 'documents and settings' mentre NT in
%windir%/profiles/<nome utente>
ciao
Mirko Parisi
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

%windir%/profiles/<nome utente>
Per le impostazioni dell'utente dovrebbe andar bene
Environ$("USERPROFILE").
Non so i 9x, pero'...
-- 
ciao, hal