Newsgroup: it.comp.lang.visual-basic
Titolo: sapere se mi trovo su vista o xp

Un piccolo programma funziona su xp  e cerca un file in C:\documents and 
setting\alluser e lo modifica.
Su Vista non funziona , perchè quel  file si trova in c:\user  etc..
Ho quindi creato due programmi , uno per xp e uno per vista .
Potrei crearne uno solo ,che verifichi  prima il sistema operativo e poi va 
a colpo sicuro a cercare il file nel percorso  giusto?
Oppure che prima cerchi  un percorso e se non esiste tale percorso ( es . 
C:\user \...)   passa automaticamente all'altro percorso ?
Non saprei come farlo .
Grazie 

 Non saprei come farlo .
If dir(il tuo file completo di percorso) <> "" then ....
Poi ci sarebbe Environ(AllUserProfile) ma non se fuinziona con Vista
-- 
Greg 

 a colpo sicuro a cercare il file nel percorso  giusto?
Per verificare la versione del S.O. ti serve una chiamata
all'API GetVersionExA, Google è tuo amico :-).
http://www.google.it/search?q=vb+GetVersionExA
[Oggi mi sento cattivo. Se mi sentissi buono però
ti indicherei questo link:
http://www.xtremedotnettalk.com/showthread.php?t=101393
]
Bye, G.

"Valentiane" <fffffffffffff> ha scritto nel messaggio 
news:4c40dbdf$0$18995$4faf...@reader5.news.tin.it...

Il suggerimento di Greg di usare Environ("ALLUSERSPROFILE") in teoria 
sarebbe valido in quanto ti evita di "cablare" dei percorsi nel tuo 
programma, ma purtroppo in Vista/7 ritorna "C:\ProgramData" e  non 
"C:\Users\Public\Documents" che sarebbe la cartella dei documenti comuni a 
tutti gli utenti.
Puoi però ottenere quel percorso tramite l'api SHGetSpecialFolderPath 
(usando CSIDL_COMMON_DOCUMENTS), come spiegato qui:
http://vbnet.mvps.org/code/browse/shpathidlist.htm
In tal modo ti svincoli dalla versione di Windows in quanto la funzione ti 
ritorna sempre il percorso giusto.
Bye
Raf
 

 tutti gli utenti.
In .NET per la cartella documenti comuni si può usare:
Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments)
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3: Soluzioni a raccolta", molto più di semplici 
FAQ! 
http://it.openoffice.org/doc/manuali/

 Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments)
Eh, finalmente l'hanno aggiunta al VS2010 (framework 4.0), perché prima non 
c'era, nonostante sia una "special folder" da un pezzo...
Ciao 

 programma, ma purtroppo in Vista/7 ritorna "C:\ProgramData"
ho controllato,il mio file si trova infatti proprio in C:\program Data  in 
vista e seven!
Ricapitolando :
il mio programma in XP deve fare qualcosa sul file che si trova sicuramente 
in questo path :
C:\documentsandsetting\alluser\miofile.ini
mentre su vista deve fare qualcosa sul file che si trova sicuramente in 
questo path:
C:\program Data\miofile.ini
Mi scrivete gentilmente lo pseudocodice per fare il test sul percorso  ?
Ho trovato i due programmi di cui parlavo prima già fatti , non so 
programmare tanto bene , per cui se mi dite lo pseudo codice poi io unisco i 
due codici e mi arrangio .
Ciaoe grazie

 Mi scrivete gentilmente lo pseudocodice per fare il test sul percorso  ?
Ti ho gia suggerito di fare una dir per per ognuno dei due casi.
Ti va pure di lusso: sai cosa e dove cercare! Pensa se non lo sapessi!
Che poi alla fine, essendo un banale file di configurazione e non di chissa 
quali importantissimi dati... se devi cercare miofile.ini.... il posto piu 
normale sarebbe app.path
-- 
Greg 

 il posto piu normale sarebbe app.path
No, scusa, qui ho sbagliato io: magari è un file di configurazione con i 
gusti dell'utente specifico che deve stare nella sua cartella.
-- 
Greg 

"Valentiane" <888888> ha scritto nel messaggio 
news:4c41c3bc$0$12120$4faf...@reader4.news.tin.it...

Bene, allora usa pure Environ("ALLUSERSPROFILE"), non occorre fare nessun 
test sulla versione di Windows, dato che quella funzione ti restituisce 
sempre il percorso giusto.
MioFilePath = Environ("ALLUSERSPROFILE") &"\miofile.ini"
Su XP        MioFilePath = " C:\documents and settings\allusers\miofile.ini"
Su Vista/7  MioFilePath = " C:\ProgramData\miofile.ini"
Ciao
Raf