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

C++Builder Discussion :

Fermer l'ordinateur par programme


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut Fermer l'ordinateur par programme
    Bonsoir
    A la suite de cette discution j'ai poursuivi mes recherches
    Je suis parvenu a utiliser ShellExecute pour fermer l'ordinateur en utilisant " shutdown " il n'y a pas a intervenir sur les privileges, je ne sais d'ailleurs pas en quoi cela consiste
    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // fermer l'ordinateur
    AnsiString Commande = "c:\\windows\\system32\\shutdown.exe";
     
    // -l = fermer cession
    // -s = fermer ordinateur
    // -t 10= temps avant fermeture
    // -c commentaires sans espaces
    // pour les autres parametres voir le fichier help en mode console
    // attention aux espaces sinon ca ne fonctionne pas, il n'y a pas de messages d'erreurs
     
    AnsiString Parametre = "-s -t 10 -c programme_fini";
     
    ShellExecute(NULL,"open",Commande.c_str(), Parametre.c_str(), "c:\\windows\\system32", SW_SHOW);
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    As tu essayé de mettre ton commentaire entre guillemet (et donc avec des espace entre les guillemets) ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut pottiez
    Si j'ecrit le commentaire sans le souligne il sera affiche " fini ", comme shutdown est une commande DOS, je ferais l'essai pour voir, j'ai aussi une autre commande qui permet d'acceder a un ordinateur en reseau local avec une chaine de texte et je n'ai pas non plus teste le passage du texte
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  4. #4
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Pour que cela fonctionne sous DOS la chaine doit etre ecrite comme ceci
    shutdown -s -t 10 -c "programme_fini"
    Je ne sais pas comment integrer les " dans la chaine de commande
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    J'ai trouve il faut ecrire la chaine comme ceci
    AnsiString Parametre = "-s -t 10 -c \"programme fini\"";
    Le code devient donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // fermer l'ordinateur
    AnsiString Commande = "c:\\windows\\system32\\shutdown.exe";
     
    // -l = fermer cession
    // -s = fermer ordinateur
    // -t 10= temps avant fermeture
    // -c commentaires sans espaces
    // pour les autres parametres voir le fichier help en mode console
    // attention aux espaces sinon ca ne fonctionne pas, il n'y a pas de messages d'erreurs
     
    AnsiString Parametre = "-s -t 10 -c \"programme fini\"";
     
    ShellExecute(NULL,"open",Commande.c_str(), Parametre.c_str(), "c:\\windows\\system32", SW_SHOW);
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Il reste une variable que je ne peut pas tester c'est pour fermer ou arreter un ordinateur distant, je n'est pas de reseau local
    le code
    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
    // fermer l'ordinateur
    AnsiString Commande = "c:\\windows\\system32\\shutdown.exe";
     
    // -l = fermer cession
    // -s = fermer ordinateur
    // -t 10= temps avant fermeture
    // -c commentaires sans espaces
    // pour les autres parametres voir le fichier help en mode console
    // attention aux espaces sinon ca ne fonctionne pas, et il n'y a pas de messages d'erreurs
     
    // ici " b-0twwnnl8w0v01 " est le Nom de l'ordinateur
    AnsiString Parametre = "-s -m \\\\b-0twwnnl8w0v01";
     
    ShellExecute(NULL,"open",Commande.c_str(), Parametre.c_str(), "c:\\windows\\system32", SW_SHOW);
    Si un testeur peut me dire si cela marche ce serait sympa
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

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

Discussions similaires

  1. [C#] Comment éteindre l'ordinateur par programmation ?
    Par hobotalker dans le forum Windows Forms
    Réponses: 10
    Dernier message: 10/04/2018, 13h25
  2. [WD15] Renommer un ordinateur hors domaine par programmation
    Par Taakar dans le forum WinDev
    Réponses: 3
    Dernier message: 07/01/2010, 21h53
  3. Piloter un ordinateur par un programme c++ ?
    Par barbuslex dans le forum Débuter
    Réponses: 14
    Dernier message: 04/01/2010, 00h43
  4. Fermer l'editeur VBA par programmation
    Par bossun dans le forum Général VBA
    Réponses: 1
    Dernier message: 15/02/2007, 14h14

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