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

Langage Delphi Discussion :

shellexecute vista privilege runasadmin


Sujet :

Langage Delphi

  1. #1
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut shellexecute vista privilege runasadmin
    Bonjour, j'ai suivi le tuto http://pascalfonteneau.developpez.co...ta/uac/#LIII-C sur l'uac.

    j'ai un programme sans droit admin qui doit lancer un exe qui requiert les droits admin.

    et sur xp ou seven sa me dit fichier introuvable
    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
    procedure RunAsAdmin(hWnd : HWND; aFile : String; aParameters : String);
    Var
     Sei : TShellExecuteInfoA;
    begin
     Fillchar(sei,SizeOf(sei),0);
     sei.cbSize := SizeOf(sei);
     sei.Wnd    := hWnd;
     sei.fMask  := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
     sei.lpfile := PChar(aFile);
     sei.lpVerb := 'runas';
     sei.lpParameters := PChar(aParameters);
     sei.nShow := SW_SHOWNORMAL;
     if not ShellExecuteEx(@sei) then
      RaiseLastOSError;
    end;
    RunAsAdmin(Application.Handle,'c:\test.exe','');
    le chemin est bon à 100% sur le disque c nommé test.exe en minuscule bien que la casse sur windows il y en a pas. Et sa le lance pas, seven idem, alors qu'un shellexecute normal c'est bon sur xp mais pas sur seven
    merci.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Utilise TShellExecuteInfo au lieu de TShellExecuteInfoA, ça pourra alors fonctionner quelle que soit la version de Delphi.

    Mais perso, je viens de faire le test avec ton code (enfin avec TShellExecuteInfo, je suis en D2010) et ça fonctionne parfaitement :
    W7 me demande si je veux bien effectuer l'élévation de privilèges. Si je dit oui, l'exe se lance. Si je dis non, j'obtiens une erreur 1223.

  3. #3
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    merci beaucoup cela fonctionne
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec les privileges sous vista
    Par ksoft dans le forum Windows
    Réponses: 1
    Dernier message: 15/10/2009, 12h05
  2. [Vista]Problème avec ShellExecute
    Par Invité dans le forum Windows
    Réponses: 3
    Dernier message: 22/11/2007, 14h39
  3. Problème avec Shellexecute sous Vista
    Par scara dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2007, 18h09
  4. Ouvrir le poste de travail (avec ShellExecute) ?
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/08/2003, 11h09
  5. Réponses: 2
    Dernier message: 18/11/2002, 09h12

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