Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1296 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Accéder aux dossiers de l'utilisateur en cours

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accéder aux dossiers de l'utilisateur en cours

n°1178955
xtremdev
Je choisi la formule offensive
Posté le 18-08-2005 à 17:28:27  profilanswer
 

Voilà mon problème,
 
Lorsque j'éxécute mon programme en tant qu'administrateur sous une session d'un utilisateur limité, j'aimerai retrouver les chemins des dossiers "Mes Documents", "Bureau", etc...
Seulement, si j'apelle la fonction SHGetSpecialFolderPath, je me retrouve avec les chemins correspondants à l'administrateur.
 
Quelqu'un à une idée ?

mood
Publicité
Posté le 18-08-2005 à 17:28:27  profilanswer
 

n°1178961
HelloWorld
Salut tout le monde!
Posté le 18-08-2005 à 17:33:09  profilanswer
 

Exécute depuis le compte utilisateur...
Même si tu récupères le Mes Documents voulu, tu risques d'avoir d'autres problèmes genre c'est un document créé par l'Admin que le pauvre utilisateur ne peut ni lire ni effacer etc...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1178967
xtremdev
Je choisi la formule offensive
Posté le 18-08-2005 à 17:37:49  profilanswer
 

Sauf que mon programme est en quelque sorte un Setup et que j'ai besoin d'accéder à :
 
Program Files et HKEY_LOCAL_MACHINE => c'est pour ça que j'éxécute sous admin
mais aussi HKEY_CURENT_USER, Mes documents, le bureau , etc... de l'utilisateur en cours
 
Je suis preneur pour une autre solution

n°1179249
HelloWorld
Salut tout le monde!
Posté le 18-08-2005 à 23:38:33  profilanswer
 

Alors regarde plutot dans Documents and Settings\All Users\Bureau.
Pour HKEY_CURENT_USER, normalement, c'est ton appli qui doit écrire dedans. Elle peut détecter son premier lancement si la clé voulue n'existe pas et faire son init. Voir aussi HKEY_USERS.

n°1179313
xtremdev
Je choisi la formule offensive
Posté le 19-08-2005 à 08:34:24  profilanswer
 

J'ai trouvé la fonction GetUserProfileDirectory qui permet de retrouver la racine du profile d'un utilisateur. (C:\Documents and Settings\UserName\)
Pour l'utiliser, j'ai besoin du Token (HANDLE) de l'utilisateur !
Comment on le récupère ?
 
BOOL GetUserProfileDirectory(
  HANDLE hToken,
  LPTSTR lpProfileDir,
  LPDWORD lpcchSize
);

n°1179410
HelloWorld
Salut tout le monde!
Posté le 19-08-2005 à 10:35:59  profilanswer
 

Une fois que tu as le répertoire de son profile tu fais quoi ?
Bureau, Mes Documents, etc... ne sont pas obligés de s'appeler comme ça, d'être là où tu les attend, etc...
Pour le token, faut lire la doc. Faut connaitre le user dont il faut charger le profile (ce qui est logique), ainsi que son password pour LogonUser... Ou alors...
Honnêtement, je crois que tu te compliques beaucoup trop. Sans parler des pblm de sécurité.
Tu veux lancer ton setup depuis un compte non admin, ok, ça te regarde. Autant faire un soft prévu pour ça.
Je te propose:
- l'utilisateur non Admin exécute l'installeur normalement
- l'installeur détecte que c'est pas un Admin (IsUserAnAdmin)
- il affiche un message à l'utilisateur "vous êtres pas Admin etc...", et demande le login & mot de passe Admin
- il récupère les infos dont il a besoin (chemin vers Mes Docs, etc...)
- il s'auto-relance via CreateProcessWithLogonW en tant que Admin, en se donnant en paramètre les infos dont il a besoin (path...) ou bien un chemin vers un fichier temporaire qui contient ces infos.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Accéder aux dossiers de l'utilisateur en cours

 

Sujets relatifs
framework pour la conception d'interface utilisateurMySQL : requete suivant le mois en cours
Débutant – télécharger les cours de bourse sur yahoointegrer une donnée entrée par l'utilisateur dans un WHERE
probleme entre utilisateurAccéder aux clé d'un objet
Cours Pro*CSavoir si un utilisateur est loggé ou pas
Informations sur le volume en coursacceder a sql server 2005 depuis une machine!
Plus de sujets relatifs à : Accéder aux dossiers de l'utilisateur en cours


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR