begin process at 2012 05 30 06:48:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Récupérer le SID de l'utilisateur courant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer le SID de l'utilisateur courant

mardi 6 novembre 2007 à 16:08:34 | Récupérer le SID de l'utilisateur courant

Korb3ns

Bonjour à tous,

je cherche à récupérer le SID de l'utilisateur courant...

Est-ce qu'il existe une fonction Windows permettant de récupérer la valeur sans avoir à parcourir le registre ?

Je sais qu'on peut trouver sa valeur à l'adresse suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\

J'ai déjà tenté d'implémenter différents codes trouvé sur le site MSDN ainsi que la fonction CopySid() mais je n'obtient pas de SID...

Merci d'avance pour votre aide !
mardi 6 novembre 2007 à 18:03:37 | Re : Récupérer le SID de l'utilisateur courant

juju12

Réponse acceptée !
Essaie LookupAccountName, cette fonction renvoie le SID du compte spécifié; cf MSDN ou SDK pour plus d'infos...
mardi 6 novembre 2007 à 18:18:33 | Re : Récupérer le SID de l'utilisateur courant

Korb3ns

Salut juju12,

Merci beaucoup pour la rapidité de ta réponse...

Je n'ai malheureusement pas le temps d'essayer LookupAccountName avant jeudi matin, je validerais ta réponse dès que possible...

jeudi 8 novembre 2007 à 00:58:35 | Re : Récupérer le SID de l'utilisateur courant

Korb3ns

Merci pour ton aide juju12,

effectivement la fonction LookupAccountName permet la récupération du SID...

Je n'ai pas réussi à convertir ma structure SID en string, après de nombreux essais et recherche sur Internet, je n'ai pas réussi à trouver les fonctions ConvertSidToStringSid() et GetTextualSid() (j'ai pourtant ajouté les déclarations dans mon fichier header ainsi que la librairie advapi32)...

Du coup je vais utiliser le numéro de série du disque dur, qui est bien plus facile à obtenir...

Et le résultat est le même, j'obtiens un ID unique, je le couple juste avec le nom d'utilisateur afin de pouvoir différencier chaque session...

Merci pour ton aide !

Bonne soirée !


jeudi 8 novembre 2007 à 17:07:27 | Re : Récupérer le SID de l'utilisateur courant

juju12

Ben ConvertSidToStringSid le header est sddl.h et la lib advapi32.lib effectivement.
GetTextualSid par contre m'a pas l'air d'être une API; un coup d'oeil sur le net, elle est à chaque fois implémentée. Peut-être sous vista...en tous cas pas dans le SDK 2003.

Mais bon si t'as autre chose qui marche tant mieux.
jeudi 8 novembre 2007 à 17:25:41 | Re : Récupérer le SID de l'utilisateur courant

Korb3ns

J'ai pourtant inclu sddl.h dans le header de ma classe et ajouté la librairie advapi32.dll, pourtant Visual Studio n'avait pas l'air de connaître cette méthode...

Vu que je dois bientôt rendre mon projet, et compte tenu du fait que j'ai encore pas mal de travail à faire, je n'ai pas le temps de m'étaler trop longtemps sur ce problème...

Oui je passe par le numéro de série du disque dur, mais j'ai quand même une question :

Pour le moment j'ai mit en dur la lettre logique du disque dur, mais comme il est possible d'installer Windows sur n'importe quel partition, il se peut que C: soit un lecteur de carte où autre...

Il y a un moyen de trouver la lettre logique d'un disque dur (sans toute les parcourir) ?

Pour le moment je l'ai implémenté de la manière suivante :

DWORD numeroSerie;
GetVolumeInformation( "c:\\", 0, 0, &numeroSerie, 0, 0, 0, 0 );
vendredi 9 novembre 2007 à 20:35:49 | Re : Récupérer le SID de l'utilisateur courant

juju12

Tu  peux peut-être utiliser GetLogicalDriveStrings. Sinon un simple GetModuleFileName et tu prends le début de la chaîne retourné.
vendredi 9 novembre 2007 à 20:36:08 | Re : Récupérer le SID de l'utilisateur courant
lundi 12 novembre 2007 à 19:40:18 | Re : Récupérer le SID de l'utilisateur courant

Korb3ns

Merci pour tes conseils !

Dans le même style d'idée que toi je vais me servir de la variable d'environnement HOMEDRIVE qui me retourne directement le chemin du disque principal (C: dans mon cas)...

Merci beaucoup pour ton aide, bonne soirée !




Cette discussion est classée dans : fonction, récupérer, utilisateur, courant, sid


Répondre à ce message

Sujets en rapport avec ce message

Exécuter une fonction en arrière plan [ par sena ] Bonjour,j'ai créer une dll dans la quelle ce trouve une fonction d'écoute en UDP qui affiche un message dè kel recoit kelke choz.Cette fonction tourne Récupérer le nom du poste de travail [ par margotfleur ] Bonjour à tous !Je programme en Visual C++, et je réalise actuellement une IHM à l'aide de la librairie MFC.Je souhaiterais récupérer le nom du poste Répertoire d'installation [ par nemmezis ] Salut,Bon j'ai besoin de récupérer le répertoire d'installation d'un exécutable à l'aide de son HINSTANCE. Le problème, c'est que cette merde de fonct Répertoire d'installation [ par nemmezis ] Salut,Bon j'ai besoin de récupérer le répertoire d'installation d'un exécutable à l'aide de son HINSTANCE. Le problème, c'est que cette merde de fonct !!! Récupérer nom utilisateur !!! [ par yoyo269 ] Salut,1 - je voudrais déjà si c'est possible de récupérer le login d'un pc sur un réseau local sous win2000, de la même manière qu'on le ferait pour s Obtenir le nom du .exe courant [ par supergrey ] Bonjour, je voudrai savoir comment récupérer le nom du .EXE courant.(Je veux que mon programme une fois compilé puisse récupérer son nom s'il a était fonction de controle [ par imad_lol ] svp je veut savoir comment créé une fonction qui fait le controle des caracterer entrer par l'utilisateur.je dois utilisé cette fonction dans differen créer un numéro de série [ par progrima ] je veux créer un numéro de série à partir des informations suivants : société, application, modules accordées, nombre d'utilisateur. je cherche une fo Espionner une dll pour récupérer un flot de données [ par gorets ] J'ai un programme qui utilise une fonction placée dans une dll. cette dll redirige par une fonction un flux de donnée vers le port parallèle (ou série Récupérer le nom d'utilisateur sous linux avec Kylix [ par niuniuk36 ] J'aurai aimé savoir comment on pouvez récupérer le nom d'utilisateur sous linux avec le logiciel de programmation Kylix de Borlandmerci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales