[RESOLU] Chemin du répertoire de téléchargement utilisateur

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[RESOLU] Chemin du répertoire de téléchargement utilisateur

Message par falsam »

Bonjour. GetTemporaryDirectory() permet de connaitre le chemin du répertoire temporaire d'un utilisateur mais j'aurais voulu connaitre le chemin du répertoire de téléchargement défini par un utilisateur.
Quelqu'un aurait il une réponse à me proposer ? Merci.
Dernière modification par falsam le ven. 18/janv./2013 23:20, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par Ar-S »

En passant par la base de registre.

Code : Tout sélectionner

key.s = "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer"
Value.s = "Download Directory" 

la procédure de lecture du registre a été copiée, bidouillée, modifiée tellement de fois que je ne sais plus d’où celle ci sort (dobro, droopy ou une adaptation perso...)

Ce qui donne :

Code : Tout sélectionner

Procedure.s   ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)  ; ====================================== ReadRegKey
  hKey.l=0
  KeyValue.s= Space (255)
  DataSize.l=255
  
  If RegOpenKeyEx_ (OpenKey,SubKey,0, #KEY_READ ,@hKey)
    KeyValue= ""
  Else
    If RegQueryValueEx_ (hKey,ValueName,0,0,@KeyValue,@DataSize)
      KeyValue= ""
    Else
      KeyValue= Left (KeyValue,DataSize-1)
    EndIf
    RegCloseKey_ (hKey)
  EndIf
  
  ProcedureReturn KeyValue
EndProcedure 


MessageRequester("TELECH",ReadRegKey(#HKEY_CURRENT_USER,"Software\Microsoft\Internet Explorer","Download Directory"))
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Chemin du répertoire de téléchargement défini par un uti

Message par GallyHC »

Bonjour,

Il faudrais deja savoir si vous cherche le repertoire de telechargement des fichiers perso (dans mes docs avec par exemple MSN) ou celui d'IE.

dans tout les cas ce code peut vous aidez :

Code : Tout sélectionner

Procedure.s GetSystemFolder(lvalue.l)
;
  Protected sfolder.s
  Protected *itemid.ITEMIDLIST = #Null
  
  If SHGetSpecialFolderLocation_(0, lvalue, @*itemid) = #NOERROR
    sfolder = Space(#MAX_PATH)
    If SHGetPathFromIDList_ (*itemid, @sfolder)
      If Right(sfolder, 1) <> "\"
        sfolder + "\"
      EndIf
      ProcedureReturn sfolder
    EndIf
  EndIf

EndProcedure


For i=0 To 63
  Debug Str(i) + " - " + GetSystemFolder(i)
Next i
Après pour touver la constante (plus precise) qu'il vous faut, voir cette page "http://msdn.microsoft.com/en-us/library/aa453706.aspx"

Pour celui dans "mes docs", je n'ai rien trouvais. La seul solution que je vois actuellement, serais une recherche du répertoire perso et une analyse de l'existance de certain repertoire de chaque OS (WinXP, 7, ...). Car le nom que changer.

Deja dans 7 il y a au moin le fichier "Downloads" dans le profils et aussi "Mes fichiers reçus" dans le "profil + Documents", sans parle des fichier de IE.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par Ar-S »

Si tu parles de "chemin de téléchargement défini par l'utilisateur", il est clair qu'il faut savoir définit depuis quel logiciel.
Si tu changes le chemins de ton dossier téléchargement via la bonne méthode, à savoir
Clique droit sur le dossier téléchargement puis onglet Emplacement et en indiquant un emplacement spécifique.
Ce nouvel emplacement sera, sous windows 8 x64, à la clé

Code : Tout sélectionner

;clé : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
;valeur : {374DE290-123F-4565-9164-39C4925E467B}
;ce qui donne (testé et fonctionnel)

Procedure.s   ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)  ; ====================================== ReadRegKey
	hKey.l=0
	KeyValue.s= Space (255)
	DataSize.l=255
	
	If RegOpenKeyEx_ (OpenKey,SubKey,0, #KEY_READ ,@hKey)
		KeyValue= ""
	Else
		If RegQueryValueEx_ (hKey,ValueName,0,0,@KeyValue,@DataSize)
			KeyValue= ""
		Else
			KeyValue= Left (KeyValue,DataSize-1)
		EndIf
		RegCloseKey_ (hKey)
	EndIf
	
	ProcedureReturn KeyValue
EndProcedure 


MessageRequester("TELECH",ReadRegKey(#HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","{374DE290-123F-4565-9164-39C4925E467B}"))
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Chemin du répertoire de téléchargement défini par un uti

Message par GallyHC »

Bonjour Ar-s

Désolé de te dire que j'ai testé tes codes sur 7 et xp et perso je n'ai a chaque fois rien :(. Les clefs sont peu être spécifique a chaque OS (c'est une question car je n'ai pas la réponse)?

Cordialement,
GallyHC

PS: J'espère être dans le bon sens des questions, ni hors sujet (je me méfis maintenant) et surtout dans le BON TOPIC…
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par Ar-S »

GallyHC a écrit :Bonjour Ar-s

Désolé de te dire que j'ai testé tes codes sur 7 et xp et perso je n'ai a chaque fois rien :(. Les clefs sont peu être spécifique a chaque OS (c'est une question car je n'ai pas la réponse)?

Cordialement,
GallyHC

PS: J'espère être dans le bon sens des questions, ni hors sujet (je me méfis maintenant) et surtout dans le BON TOPIC…
Regarde dans regedit à la clé (qui elle es tcommunes à tous les OS je pense)

Code : Tout sélectionner

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 
si tu vois une le chemin du répertoire téléchargement dans les "valeurs" (à droite).
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Chemin du répertoire de téléchargement défini par un uti

Message par GallyHC »

Bonjour,

Ben en fait non pour être plus précis je te met la liste des clefs que j'ai :

Code : Tout sélectionner

"AppData"="C:\\Documents and Settings\\MOI EN FAIT\\Application Data"
"Cookies"="C:\\Documents and Settings\\MOI EN FAIT\\Cookies"
"Desktop"="C:\\Documents and Settings\\MOI EN FAIT\\Bureau"
"Favorites"="C:\\Documents and Settings\\MOI EN FAIT\\Favoris"
"NetHood"="C:\\Documents and Settings\\MOI EN FAIT\\Voisinage réseau"
"Personal"="C:\\Documents and Settings\\MOI EN FAIT\\Mes documents"
"PrintHood"="C:\\Documents and Settings\\MOI EN FAIT\\Voisinage d'impression"
"Recent"="C:\\Documents and Settings\\MOI EN FAIT\\Recent"
"SendTo"="C:\\Documents and Settings\\MOI EN FAIT\\SendTo"
"Start Menu"="C:\\Documents and Settings\\MOI EN FAIT\\Menu Démarrer"
"Templates"="C:\\Documents and Settings\\MOI EN FAIT\\Modèles"
"Programs"="C:\\Documents and Settings\\MOI EN FAIT\\Menu Démarrer\\Programmes"
"Startup"="C:\\Documents and Settings\\MOI EN FAIT\\Menu Démarrer\\Programmes\\Démarrage"
"Local Settings"="C:\\Documents and Settings\\MOI EN FAIT\\Local Settings"
"Local AppData"="C:\\Documents and Settings\\MOI EN FAIT\\Local Settings\\Application Data"
"Cache"="C:\\Documents and Settings\\MOI EN FAIT\\Local Settings\\Temporary Internet Files"
"History"="C:\\Documents and Settings\\MOI EN FAIT\\Local Settings\\Historique"
"My Pictures"="C:\\Documents and Settings\\MOI EN FAIT\\Mes documents\\Mes images"
"Fonts"="C:\\WINDOWS\\Fonts"
"My Music"="C:\\Documents and Settings\\MOI EN FAIT\\Mes documents\\Ma musique"
"My Video"="C:\\Documents and Settings\\MOI EN FAIT\\Mes documents\\Mes vidéos"
"Administrative Tools"=""
je ne comprend pas non plus pourquoi je n'ai pas de clef comme tu l'as?


Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par Ar-S »

Sous w7 ET Xp ???
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Chemin du répertoire de téléchargement défini par un uti

Message par GallyHC »

La c sous XP
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par Ar-S »

GallyHC a écrit :La c sous XP
Plus de chance qu'il y ait quelque chose sous 7
je n'ai plus WindowsXP mode sur windows 8, faut que je le réinstalle.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Chemin du répertoire de téléchargement défini par un uti

Message par falsam »

Merci pour ces réponses.

@AR-s : Ton code ci-dessous fonctionne sous windows 7 et répond à ma demande.

Code : Tout sélectionner

;clé : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
;valeur : {374DE290-123F-4565-9164-39C4925E467B}
;ce qui donne (testé et fonctionnel)

Procedure.s   ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)  ; ====================================== ReadRegKey
   hKey.l=0
   KeyValue.s= Space (255)
   DataSize.l=255
   
   If RegOpenKeyEx_ (OpenKey,SubKey,0, #KEY_READ ,@hKey)
      KeyValue= ""
   Else
      If RegQueryValueEx_ (hKey,ValueName,0,0,@KeyValue,@DataSize)
         KeyValue= ""
      Else
         KeyValue= Left (KeyValue,DataSize-1)
      EndIf
      RegCloseKey_ (hKey)
   EndIf
   
   ProcedureReturn KeyValue
EndProcedure 


MessageRequester("TELECH",ReadRegKey(#HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","{374DE290-123F-4565-9164-39C4925E467B}"))
@GallyHC : Merci pour ta réponse que je garde précieusement et tu es bien dans un topic consacré à des demandes d'aide. (Quel rancunier tu fais :p Mais c'est aussi pour ça que j'aime ce forum :) Merci.

Je vais afficher Résolu mais la discussion continue.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: [RESOLU] Chemin du répertoire de téléchargement utilisat

Message par GallyHC »

@falsam > En fait ce n'est pas vraiment de rancune :) allez on fait comme si ce n'etes pas arrivé.

@Ar-s > ton code fonctionne sur 7.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre