Newsgroup: it.comp.lang.visual-basic
Titolo: path di installazione

Salve,
dovrei sapere come trovare la cartella di defaul di win dell'installazione
dei programmi tipo:
programmi
program files
Mi servirebbe sapere se esiste una API o una chiamata al registro di
configurazione...!!!
Grazie
xoooox
--------------------------------
Inviato via 
http://usenet.libero.it

 programmi
In VB6 cicla fra le variabili di Environ$
Environ$(0)
Environ$(1)
Environ$(2)
.....
In 
VB.NET
 Dovrebbe esserci qualcosa tipo Microsoft.win32.environ.... (credo)
comunque non sarà difficile trovarlo...
                    Ciao
                                                        Allanon
--
- SPAMKILLER
 L'indirizzo delle risposte é 
itlangv...@michele.sytes.net
 LASCIATE il NOSPAM fa parte dell'indirizzo :-)
  Per superare le impostazioni di protezione antispam scrivete
  nel testo del messaggio la scritta "SPAMKILLER"
Scusate il disturbo, ma non posso più di pubblicità

 configurazione...!!!
Non conosco il codice da passare (se lo trovi passamelo).
Creati un modulo .bas e copia e incolla il testo seguente
(devi solo sistemare gli a capo):
Enum xTipoDirectory
   vbCestino = &HA
   vbPannelloDiControllo = &H3
   vbDesktop = &H0
   vbDesktopDirectory = &H10
   vbRisorseDelComputer = &H11
   vbFonts = &H14
   vbRisorseDiRete = &H13
   vbRisorseDiRete2 = &H12
   vbDocumenti = &H5
   vbStampanti = &H4
   vbProgrammi = &H2
   vbDatiRecenti = &H8
   vbInviaA = &H9
   vbAvvio = &HB
   vbEsecuzioneAutomatica = &H7
   vbModelli = &H15
   vbPreferiti = &H6
   vbApplicationData = &H1A
   vbRisorseDiStampa = &H1B
   vbWindows = 10000
   vbSystem = 10001
End Enum
Declare Function GetSystemDirectory Lib "kernel32" Alias
"GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long
Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long
Declare Function GetShortPathNameA Lib "kernel32" (ByVal lpszLongPath As
String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Declare Function SHGetSpecialFolderLocation Lib "shell32" (ByVal hwndOwner
As Long, ByVal nFolder As Long, ByRef ppidl As Long) As Long
Declare Function SHGetPathFromIDListA Lib "shell32" (ByVal pidl As Long,
ByRef pszPath As Byte) As Long
Public Function DirSistema(Costante As xTipoDirectory, Optional tfNomeDos As
Boolean = False) As String
   Dim lPosizione As Long
   Dim bStringa(0 To 260) As Byte
   Dim lAppoggio As Long
   Dim SysDir As String
   Dim ResultCode As Long
   DirSistema = ""
   Select Case Costante
      Case xTipoDirectory.vbWindows
         SysDir = Space(260)
         ResultCode = GetWindowsDirectory(SysDir, 259)
         SysDir = Left(SysDir, ResultCode)
         DirSistema = Trim(SysDir)
      Case xTipoDirectory.vbSystem
         SysDir = Space(260)
         ResultCode = GetSystemDirectory(SysDir, 259)
         SysDir = Left(SysDir, ResultCode)
         DirSistema = Trim(SysDir)
      Case Else
         lAppoggio = SHGetSpecialFolderLocation(vbNull, Costante,
lPosizione)
         lAppoggio = SHGetPathFromIDListA(lPosizione, bStringa(0))
         If lAppoggio <> 0 Then
            lAppoggio = 0
            DirSistema = ""
            While bStringa(lAppoggio) <> 0
               DirSistema = DirSistema & Chr(bStringa(lAppoggio))
               lAppoggio = lAppoggio + 1
            Wend
         End If
   End Select
   DirSistema = Trim$(TagliaBarra(DirSistema))
   If tfNomeDos = True Then
      SysDir = Space$(260)
      lAppoggio = GetShortPathNameA(DirSistema, SysDir, 260)
      DirSistema = Trim$(Left$(SysDir, lAppoggio))
   End If
End Function
' Restituisce il percorso dell'applicazione senza "\" in fondo.
Public Function TagliaBarra(strPercorso As String) As String
   If Right(strPercorso, 1) = "\" Then
      TagliaBarra = Left(strPercorso, Len(strPercorso) - 1)
   Else
      TagliaBarra = strPercorso
   End If
End Function