Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - cartelle predefinite di windows
Forum - Visual Basic 6 - cartelle predefinite di windows

Avatar
nonnic (Normal User)
Newbie


Messaggi: 2
Iscritto: 13/02/2023

Segnala al moderatore
Postato alle 16:04
Lunedì, 13/02/2023
Come faccio a trovare il percorso di una cartella predefinita di windows? per ex. download, documenti ecc..


Monnic
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:22
Lunedì, 13/02/2023
Puoi usare la funzione Environ (per quelle che sono impostate nell'ambiente) oppure la API

SHGetSpecialFolderPathA
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_ ...

indicando uno tra i codici di questa lista

https://learn.microsoft.com/en-us/windows/win32/shell/csidl

Ad esempio, con il primo metodo, partendo da

Environ("USERPROFILE")

puoi concatenare "\Desktop" per il desktop, oppure "\Documenti", oppure "\Download"

Un altro modo è usare la libreria "WScript.Shell" e il metodo SpecialFolders

Codice sorgente - presumibilmente Visual Basic 6

  1. Set oWSHShell = CreateObject("WScript.Shell")
  2. GetDesktop = oWSHShell.SpecialFolders("Desktop")



L'ultimo modo funziona solo con le cartelle

      AllUsersDesktop
      AllUsersStartMenu
      AllUsersPrograms
      AllUsersStartup
      Desktop
      Favorites
      Fonts
      MyDocuments
      NetHood
      PrintHood
      Programs
      Recent
      SendTo
      StartMenu
      Startup
      Templates

Per tutto il resto c'è Google ...




Ultima modifica effettuata da il 13/02/2023 alle 16:30
PM Quote
Avatar
nonnic (Normal User)
Newbie


Messaggi: 2
Iscritto: 13/02/2023

Segnala al moderatore
Postato alle 11:32
Martedì, 14/02/2023
grazie della tempestività,.
ho provato l'esempio dell'help di VB6
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Esempio di funzione Environ
In questo esempio la funzione Environ viene utilizzata per fornire il numero di voce e la lunghezza dell'istruzione PATH contenuta nella tabella delle stringhe di ambiente.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Codice sorgente - presumibilmente VB.NET

  1. Dim EnvString, Indx, Msg, PathLen   ' Dichiara le variabili.
  2. Indx = 1   ' Inizializza l'indice su 1.
  3. Do
  4.    EnvString = Environ(Indx)   ' Legge la variabile di
  5.             ' ambiente.
  6.    If Left(EnvString, 5) = "PATH=" Then   ' Verifica la voce PATH.
  7.       PathLen = Len(Environ("PATH"))   ' Legge la lunghezza.
  8.       Msg = "Voce PATH = " & Indx & " e lunghezza = " & PathLen
  9.       Exit Do
  10.    Else
  11.       Indx = Indx + 1   ' La voce PATH non esiste
  12.    End If   ' perciò incrementa.
  13. Loop Until EnvString = ""
  14. If PathLen > 0 Then
  15.    MsgBox Msg   ' Visualizza il messaggio.
  16. Else
  17.    MsgBox "Non esiste alcuna variabile di ambiente PATH."
  18. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



Thejuster Edit:
Usa il tag code cortesemente.

ma non sono venuto capo a niente, il resto purtroppo per me troppo tecnico, ma questo non può essere addebitato a te.

Ultima modifica effettuata da Thejuster il 14/02/2023 alle 16:02


Monnic
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1364
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 15:22
Martedì, 14/02/2023
Hai la lunghezza della stringa path perché quella chiedi che sia stampata con & PathLen. La stringa Path si trova in: EnvString

con questo codice puoi vedere tutte la variabili d'ambiente.
Codice sorgente - presumibilmente VB.NET

  1. Dim EnvString, Indx, Msg, PathLen   ' Dichiara le variabili.
  2. Indx = 1   ' Inizializza l'indice su 1.
  3.  
  4. Do
  5.    EnvString = Environ(Indx)  ' Legge le variabili di ambiente.
  6.    Debug.Print ("Variabile ambiente N." & Indx & "  " & EnvString)
  7.    Indx = Indx + 1
  8. Loop Until EnvString = ""



per leggere nello specifico il percorso della cartella Documenti e Desktop dell'utente:
https://forum.html.it/forum/showthread.php?threadid=829214

Ultima modifica effettuata da Carlo il 14/02/2023 alle 21:42


in programmazione tutto è permesso
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:51
Martedì, 14/02/2023
Ma scusa, queste due righe che ti avevo proposto

Codice sorgente - presumibilmente Visual Basic 6

  1. Set oWSHShell = CreateObject("WScript.Shell")
  2. GetDesktop = oWSHShell.SpecialFolders( Desktop")



le hai provate?

Ultima modifica effettuata da il 14/02/2023 alle 18:53
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1364
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 16:10
Mercoledì, 15/02/2023
@nessuno
Testo quotato

Postato originariamente da nessuno:

Ma scusa, queste due righe che ti avevo proposto

Codice sorgente - presumibilmente Visual Basic 6

  1. Set oWSHShell = CreateObject("WScript.Shell")
  2. GetDesktop = oWSHShell.SpecialFolders( Desktop")



le hai provate?



Le due righe sono piene di caratteri spurii da copia e incolla. Quelle che hai postato il 13 feb invece sono senza errori:
Codice sorgente - presumibilmente Visual Basic 6

  1. Set oWSHShell = CreateObject("WScript.Shell")
  2. GetDesktop = oWSHShell.SpecialFolders("Desktop")


Ultima modifica effettuata da Carlo il 15/02/2023 alle 16:13


in programmazione tutto è permesso
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:55
Mercoledì, 15/02/2023
Sì, questo fatto grazie all'editor di questo forum che combina questi pasticci quando si va in modifica.

E' veramente insopportabile ed è sempre stato così ... anche se è stato fatto notare più volte.

Si dovrebbe pensare ad aggiornare il prodotto installato, questo è preistorico.

PM Quote