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 :

Detecter la fermeture d'une session windows ou bien l'arret de l'ordinateur


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 27
    Points
    27
    Par défaut Detecter la fermeture d'une session windows ou bien l'arret de l'ordinateur
    Bonjour tous le monde et merci pour votre aide,

    je développe un programme en C et j'ai besoin de detecter la fermeture de la session d'un utilisateur windows ou bien l'arret de l'ordinateur pour lancer mon application (.exe), et francement je ne sais pas comment faire .

    ma premiere question: Eest ce que c'est possible de lancer un .exe à la fermeture d'une session ou à l'arret de l'ordinateur ?
    et ma deuxieme question: Comment faire s'il vous plait ?

    et merci pour votre aide.

  2. #2
    Membre confirmé Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    668
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Novembre 2004
    Messages : 668
    Points : 628
    Points
    628
    Par défaut
    Bonjour
    Je pense que tu n'est pas sur le bon forum pour ce genre de question.

    A la fermeture de ton applique OnClose, essai avec ShellExecute(Handle, "Open", "C:\Fichier.exe", 0, 0, SW_SHOW); mais c'est du C++, c'est peut-etre pareil avec du C ?

    Excuse je me suis planter pour le code, ce n'est pas ce qui est demander
    Ce doit etre posible avec le privilege, je peut te passer celui du C++ si tu veut.
    A++
    .
    Why
    .
    //------------------

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par winow
    Bonjour
    Je pense que tu n'est pas sur le bon forum pour ce genre de question.

    A la fermeture de ton applique OnClose, essai avec ShellExecute(Handle, "Open", "C:\Fichier.exe", 0, 0, SW_SHOW); mais c'est du C++, c'est peut-etre pareil avec du C ?

    Excuse je me suis planter pour le code, ce n'est pas ce qui est demander
    Ce doit etre posible avec le privilege, je peut te passer celui du C++ si tu veut.
    A++

    merci winow de ton aide
    Je ne suis pas un expert, et j'ai beau cherché j'ai pas trouvé de réponse
    c'est pour ça que j'ai posté ma question ici en espérant avoir une solution à mon probleme.
    j'ai pas trop compris ce que tu dis mais si tu as quelque chose qui peut m'aider, ok avec grand plaisir.

  4. #4
    Membre confirmé Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    668
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Novembre 2004
    Messages : 668
    Points : 628
    Points
    628
    Par défaut
    Voici le privilege C++ pour fermer l'ordinateur par l'appuis sur un Btn.
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TOKEN_PRIVILEGES wTokenin, wTokenOut;
    DWORD wLength;
    HANDLE wCurrentProcess, wToken;
    _LUID wLuid;
    OSVERSIONINFO wOsVer;
    try
    {
    wCurrentProcess = GetCurrentProcess();
    OpenProcessToken(wCurrentProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QURY, &wToken);
    LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &wLuid);
    wTokenin.PrivilegeCount = 1;
    wTokenin.Privileges[0].Luid = wLuid;
    wTokenin.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(wToken, FALSE, &wTokenin, sizeof(TOKEN_PRIVILEGES), &WTokenOut, &wLength);
    CloseHandle(wToken);
    }
    __finally
    {
    Application->ProcessMessage();
    if(Button1)
    {
    ExitWindowsEx(EWX_REBOOT | EWX_FORCEIFHUNG, 0);
    else
    {
    wOsVer.dwOSVersionInfoSize = sizeof(wOsVer);
    GetVersionEx(&wOsVer);
    if(wOsVer.dwPlatFormID == VER_PLATFORM_WIN32_WINDOWS)
    ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCEIFHUNG, 0);
    else
    ExitWindowsEx(EWX_POWEROFF | EWX_FORCEIFHUNG, 0);
    }
    {
    //Mettre ici ce que tu veut faire avant la fermeture de windows.
    Application->Terminate();
    }
    }
    }
    Code pour Borland builder 6, il faudrais maintenant le modifier pour.
    A++
    .
    Why
    .
    //------------------

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    merci winow de ta réponse

    moi je veux executer mon .exe quand l'utilisateur ferme sa session ou bien eteind l'ordinateur
    Comment je pourrais adapter ton prog stp

    merci de ton aide

  6. #6
    Membre confirmé Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    668
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Novembre 2004
    Messages : 668
    Points : 628
    Points
    628
    Par défaut
    Ont est pas sur le bon forum ici ce serais mieu de poster ton message dans le forum C/C++ en precisant que tu veut un code en C, tu auras des specialiste qui pourrons mieu t'aider.
    Click sur ce lien C / C++
    ++A
    .
    Why
    .
    //------------------

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Erreur, c'était ici le bon forum.
    On ne détecte pas la fermeture de Windows en C++ standard.


    Si c'est pour détecter la fermeture de session (et nom l'extinction du PC), tu peux utiliser un programme en mode fenêtre qui traite le message WM_QUERYENDSESSION ou WM_ENDSESSION.

    PS: Supprime le topic qui se trouve dans C/C++, il n'a rien à y faire.
    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.

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par winow
    Ont est pas sur le bon forum ici ce serais mieu de poster ton message dans le forum C/C++ en precisant que tu veut un code en C, tu auras des specialiste qui pourrons mieu t'aider.
    Click sur ce lien C / C++
    ++A
    Nan c'est le bon forum, dans le forum C on ne traite pas les questions spécifiques à l'OS.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par Médinoc
    Erreur, c'était ici le bon forum.
    On ne détecte pas la fermeture de Windows en C++ standard.


    Si c'est pour détecter la fermeture de session (et nom l'extinction du PC), tu peux utiliser un programme en mode fenêtre qui traite le message WM_QUERYENDSESSION ou WM_ENDSESSION.

    PS: Supprime le topic qui se trouve dans C/C++, il n'a rien à y faire.

    merci Médinoc de ta réponse,

    est ce que tu aurais un exemple de prog C qui permet de detecter la fermeture de la session ?

    Sinon quelle technique permet de detecter l'extinction du PC ?

    merci d'avance

Discussions similaires

  1. Comment détecter l'ouverture et la fermeture d'une session Windows avec Java
    Par nhila8 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 18/03/2012, 16h37
  2. Service Windows arrêté à la fermeture d'une session Windows
    Par dlayla4 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/02/2008, 15h53
  3. Détecter la fermeture d'une session Windows
    Par atao29 dans le forum MFC
    Réponses: 1
    Dernier message: 15/02/2006, 11h19
  4. Réponses: 7
    Dernier message: 12/10/2005, 09h19
  5. Detecter la fermeture d'une fenetre MsDos
    Par Akta3d dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/07/2004, 16h53

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