IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Passer en mode privilége


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 926
    Par défaut Passer en mode privilége
    Bonjour ,
    J'ai implémenter dans le menu explorer , un menu pour ejecter des lecteurs ou volumes,
    ca marche.
    Mais cela me renvoie erreur 5 quand je veux ouvrir une unité logique (Ex g:.),sauf si je suis en super-user.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    	{
    			////dismount drive
    			
    			sprintf_s(strdevice, "\\\\.\\%c:", lpCmdLine[0]);
    		}
    	if (strdevice[0] != 0)
    	{
    	/*	if ((MessageBox("Confirme dismount", 0, MB_YESNO)) == IDNO)
    			return;*/
    		int err = 0;
    		DWORD dt = 0;
    		HANDLE f = CreateFileA(strdevice,         // lpFileName
    			GENERIC_READ | GENERIC_WRITE,       // dwDesiredAccess
    			FILE_SHARE_READ | FILE_SHARE_WRITE, // dwShareMode
    			NULL,                               // lpSecurityAttributes
    			OPEN_EXISTING,                      // dwCreationDistribution
    			0,                                  // dwFlagsAndAttributes
    			NULL                                // hTemplateFile
    		);
    int err=GetLastError();
    err=5 si je ne suis pas administrateur.

    Comment passer en mode privilére pour pouvoir ejecter le lecteur (l'unité logique) ?
    Donc Comment faire comme fait Windows quand je clique dans executer en tant qu'administateur ??
    Merci

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu cherches à utiliser FSCTL_STORAGE_EJECT_MEDIA pour ouvrir le lecteur CD? Normalement il y a un autre moyen, en passant par la bibliothèque multimédia.

    Edit: Apparemment, la méthode alternative utilise mciSendString().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 926
    Par défaut
    non je veux ejecter non pas un cd mais un disque amovible
    que j'ai créer avec un driver à moi et des api à moi.

    CreateFile sur mon volume marche uniquement si je suis administrateur.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Si c'est pour un disque amovible, j'ai trouvé ceci en googlant "programmatically safely remove hardware".
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2007, 19h09
  2. mandrake:passer du mode console au mode graphique
    Par zchallal dans le forum Mandriva / Mageia
    Réponses: 2
    Dernier message: 12/12/2006, 21h45
  3. Réponses: 2
    Dernier message: 25/07/2006, 14h21
  4. Comment passer en mode édition dans un TTreeView ?
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/08/2005, 13h37
  5. Passer en mode 800*600
    Par flavien tetart dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/05/2002, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo