Session windows AUTOMATIQUE ? [Résolu]

Signaler
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010
-
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010
-
Bonjour, je voudrais savoir s'il est possible à partir d'un programme de faire en sorte que si l'ordinateur redémarre il ouvre automatiquement une session invité par exemple plutot que d'afficher le choix de l'utilisateur puis mot de passe le cas echéant?
Merci

6 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Oui c'est possible. Tu peux  passer par la base de registres et utiliser certaines valeurs des chaines de la clé suivante:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Voici les chaines et leurs valeurs en exemple:
AutoAdminLogon   REG_SZ    1
DefaultUserName   REG_SZ    nom_utilisitateur
DefaultPassword    REG_SZ    mot_de_passe
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010

Je ne penseais pas que ce serait si simple.
Merci beaucoup

supergrey
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010

Au passage tu saurais pas si on peut créer un nouvel utilisateur aussi simplement?
Merci
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Pour créer un utilisateur on peut utiliser des fonctions de la NetApi32:
Voici un exemple qui crée un nouvel utilisateur et l'ajoute au groupe "utilisateurs":

#include <windows.h>
#include <lm.h>
#pragma comment(lib,"Netapi32.lib")
//.....
            USER_INFO_2 ui2;
            DWORD dwLevel = 1;
            DWORD dwError = 0;
            NET_API_STATUS nStatus;
            memset(&ui2,0,sizeof(USER_INFO_2));
            ui2.usri2_comment=L"";
            ui2.usri2_name=L"nom_utilisateur";
            ui2.usri2_password=L"";
            ui2.usri2_priv=USER_PRIV_USER;
            ui2.usri2_flags=UF_NORMAL_ACCOUNT | UF_SCRIPT | UF_DONT_EXPIRE_PASSWD | UF_PASSWD_CANT_CHANGE;
            ui2.usri2_acct_expires=TIMEQ_FOREVER;
            nStatus = NetUserAdd(0, 2,(LPBYTE)&ui2,&dwError);
            LOCALGROUP_MEMBERS_INFO_3 inf;
            inf.lgrmi3_domainandname=L"nom_utilisateur";
            NetLocalGroupAddMembers(0,L"utilisateurs",3,(LPBYTE)&inf,1);

A noter que le champ du mot de passe est vide. Tu peux le définir si tu veux. Tu peux aussi remplacer le groupe "utilisateurs" par "administrateurs". Les APIs employées utilisent UNICODE d'où la présence du L devant les chaines de caractères.
Messages postés
475
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
20 septembre 2010

Que demander de plus, merci !