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 :

controler la fermeture d'une forme [Non suivi]


Sujet :

C++Builder

  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 controler la fermeture d'une forme
    le programme que je projette doit controler des moteurs pas a pas hors ceux-ci ne peuvent pas etre sous tension sans qu'il tournent sous peine de griller les enroulements j'ai donc fait quelques testes et je me suis apercu
    1 - que si j'appuis sur la barre d'espace le programme considere que j'ai appuye sur le bouton quitter
    2 - que si j'appui sur une touche window D ou G puis sur la conbinaison ALT+F4 j'avais le menu arreter l'ordinateur
    3 - que la touche power arretait l'ordinateur sans passer par le menu arreter
    je sais detecter une touche alphanumerique mais pas les touches de fonction et je n'ai pas su trove dans l'aide une fonction

  2. #2
    Membre éclairé
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Points : 786
    Points
    786
    Par défaut GetKeyState
    Salut !

    J'ai pas trés bien saisi ce que tu veux vraiment !

    Si tu veu tester l'état d'une touche de clavier (appuié ou non ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if((GetKeyState(VK_CONTROL) & 0x8000)==0x8000)
            ShowMessage("La touche Ctrl est appuié");
    Pour plus d'info http://tcharles.developpez.com/simul/

    a+

  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
    Interruption13h je te remercie pour ta reponse j'ai consulte la FAQ que je ne connaisait pas je pense n'en sortir excepte pour une touche qui arrete le micro il est ecrit dessus power est-ce que cette touche peut se desactiver

  4. #4
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    bonjour ci-joint les codes clés ds touches
    VK_LBUTTON Bouton gauche de la souris
    VK_RBUTTON Bouton droit de la souris
    VK_CANCEL Ctrl+Pause
    VK_MBUTTON Bouton central de la souris
    VK_BACK Touche Retour arrière
    VK_TAB Touche Tabulation
    VK_CLEAR Touche Effacer
    VK_RETURN Touche Entrée
    VK_SHIFT Touche Maj
    VK_CONTROL Touche Ctrl
    VK_MENU Touche Alt
    VK_PAUSE Touche Pause
    VK_CAPITAL Touche Verrouillage majuscule
    VK_KANA Utilisée avec l'IME
    VK_HANGUL Utilisée avec l'IME
    VK_JUNJA Utilisée avec l'IME

    VK_FINAL Utilisée avec l'IME
    VK_HANJA Utilisée avec l'IME
    VK_KANJI Utilisée avec l'IME
    VK_CONVERT Utilisée avec l'IME
    VK_NONCONVERT Utilisée avec l'IME
    VK_ACCEPT Utilisée avec l'IME
    VK_MODECHANGE Utilisée avec l'IME
    VK_ESCAPE Touche Echap
    VK_SPACE Barre d'espace
    VK_PRIOR Touche Page précédente
    VK_NEXT Touche Page suivante
    VK_END Touche Fin
    VK_HOME Touche Début
    VK_LEFT Touche flèche vers la gauche
    VK_UP Touche flèche vers le haut
    VK_RIGHT Touche flèche vers la droite

    VK_DOWN Touche flèche vers le bas
    VK_SELECT Touche de sélection
    VK_PRINT Touche Impression (spécifique au clavier)
    VK_EXECUTE Touche d'exécution
    VK_SNAPSHOT Touche Impression écran
    VK_INSERT Touche Insertion
    VK_DELETE Touche Suppression
    VK_HELP Touche d'aide
    VK_LWIN Touche gauche Windows (clavier Microsoft)
    VK_RWIN Touche droite Windows (clavier Microsoft)
    VK_APPS Touche Applications (clavier Microsoft)
    VK_NUMPAD0 Touche 0 (pavé numérique)
    VK_NUMPAD1 Touche 1 (pavé numérique)

    VK_NUMPAD2 Touche 2 (pavé numérique)
    VK_NUMPAD3 Touche 3 (pavé numérique)
    VK_NUMPAD4 Touche 4 (pavé numérique)
    VK_NUMPAD5 Touche 5 (pavé numérique)
    VK_NUMPAD6 Touche 6 (pavé numérique)
    VK_NUMPAD7 Touche 7 (pavé numérique)
    VK_NUMPAD8 Touche 8 (pavé numérique)
    VK_NUMPAD9 Touche 9 (pavé numérique)
    VK_MULTIPLY Touche Multiplication (pavé numérique)
    VK_ADD Touche Plus (pavé numérique)
    VK_SEPARATOR Touche Séparateur (pavé numérique)
    VK_SUBTRACT Touche Moins (pavé numérique)

    VK_DECIMAL Touche décimale (pavé numérique)
    VK_DIVIDE Touche Division (pavé numérique)
    VK_F1 Touche F1
    VK_F2 Touche F2
    VK_F3 Touche F3
    VK_F4 Touche F4
    VK_F5 Touche F5
    VK_F6 Touche F6
    VK_F7 Touche F7
    VK_F8 Touche F8
    VK_F9 Touche F9
    VK_F10 F10 key
    VK_F11 F11 key
    VK_F12 F12 key
    VK_F13 F13 key
    VK_F14 F14 key
    VK_F15 F15 key
    VK_F16 F16 key
    VK_F17 F17 key
    VK_F18 F18 key
    VK_F19 F19 key
    VK_F20 F20 key
    VK_F21 F21 key
    VK_F22 F22 key
    VK_F23 F23 key

    VK_F24 F24 key
    VK_NUMLOCK Touche Verr Num
    VK_SCROLL Touche Arrêt défilement
    VK_LSHIFT Touche Maj gauche (utilisée uniquement avec GetAsyncKeyState et GetKeyState)
    VK_RSHIFT Touche Maj droite (utilisée uniquement avec GetAsyncKeyState et GetKeyState)
    VK_LCONTROL Touche Ctrl gauche (utilisée uniquement avec GetAsyncKeyState et GetKeyState)
    VK_RCONTROL Touche Ctrl droite (utilisée uniquement avec GetAsyncKeyState et GetKeyState)
    VK_LMENU Touche Alt gauche (utilisée uniquement avec GetAsyncKeyState et GetKeyState)

    VK_RMENU Touche Alt droite (utilisée uniquement avec GetAsyncKeyState et GetKeyState)
    VK_PROCESSKEY Touche de processus
    VK_ATTN Touche Attn
    VK_CRSEL Touche CrSel
    VK_EXSEL Touche ExSel
    VK_EREOF Touche Erase EOF
    VK_PLAY Touche Lecture
    VK_ZOOM Touche Zoom
    VK_NONAME Réservée à un usage futur
    VK_PA1 Touche PA1
    VK_OEM_CLEAR Touche Effacer
    cordialement

  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
    merci DjmSoftware pour la reponse.
    ces codes je les connaissais mais c'est toujours bon de les rappeler, ce que je n'arrive pas a trouver c'est celui d'une touche specifique qui m'eteind le micro des l'appuis de la touche sans aucun message je ne peut meme pas faire de teste pour connaitre le code sur la touche il est inscrit (power)

  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
    Je n'ai toujours pas trouve pour verrouiller ma touche power quelqu'un a t'il deja eut ce probleme.
    quand je fais une detection des touches ctrl ou alt elle doivent etre associees a une touche alphanumerique pour que je les detecte cela est il un comportement normal.

  7. #7
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Salut,
    Il s'agit d'une touche d'un clavier spécial?
    Si tu récupères dans un timer la touche saisie, et que tu y mets un point d'arrêt, est il possible que tu intercepts ce code?
    Si l'appuie sur cette touche est prioritaire sur ton application, j'ai bien peur qu'une application builder ne puisse rien faire et qu'il faille passer par une configuration de ton clavier par windows, pour modifier les tâches effectués par l'appuie sur ces touches spéciales.
    Bon courage, en espérant t'aider.

  8. #8
    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
    merci bandit boy pour ta reponse mais je ne suis pas assez avance en programmation pour ecrire le code que tu me propose (j'etais plus excel/vba) il faut que je m'abitue a c++ builder.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    A mon avis c'est le driver de ton clavier qui récupère ce code...bref tu ne peux pas le voir dans ton application Windows.
    Je pense que c'est le cas pour toutes les touches "multimedia" de la plupart des claviers...

    Pour désactiver l'effet de cette touche :
    • déinstaller le driver clavier
    • empêcher de couper le son en le réactivant à intervales réguliers

  10. #10
    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 resoudre mon probleme sans desactiver completement le clavier serait-il envisageable de passer par le base registres , de courcircuiter une combinaison de touches en ayant fait une sauvegarde puis, de restaurer la base de registres a la fin du programme

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Euh...je veux bien moi mais tu veux modifier quoi dans la base de registre ?
    A part tuer le petit logiciel que les claviers aux touches multimédia requierts en général.

    Tu pouras l'identifier dans un cas particulier...mais pour une utilisation général c'est déjà une autre affaire :S

  12. #12
    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
    apres des recherches dans la doc que je possede (en anglais) et surtout sur le forum je pense que mon probleme pourrait trouver une solution partielle avec un HOOK clavier je ne comprend pas tres bien comment cela fonctionne j'ai donc essaye un exemple du forum
    ce code est ecrit dans form.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Code :
    <div style="text-align: left;">HHOOK hhkLowLevelKybd = NULL;LRESULT CALLBACK LowLevelKeyboardProc(INT nCode, WPARAM wParam, LPARAM lParam)   {  KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;  BOOL bControlKeyDown = 0;  switch (nCode)    {    case HC_ACTION:      {      bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);       // Disable CTRL+ESC      if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)        return 1;      // Disable ATL+TAB      if (pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN)        return 1;      // Disable ALT+ESC      if (pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN)        return 1;      // Disable the WINDOWS key      if (pkbhs->vkCode == VK_LWIN || pkbhs->vkCode == VK_RWIN)        return 1;      break;      }    default:    break;  }  return CallNextHookEx (hhkLowLevelKybd, nCode, wParam, lParam);  }void __fastcall TForm1::Button11Click(TObject *Sender)  {  if (hhkLowLevelKybd)    {    UnhookWindowsHookEx(hhkLowLevelKybd);    hhkLowLevelKybd = NULL;    }  else    hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, HInstance, 0);  }</div>
    dans le form.h
    il faudrait je pense ecrire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(PARAMETRES)
    END_MESSAGE_MAP
    le probleme sait que je ne sais pas comment l'ecrire
    quelqu'un peut il m'aider svp.

  13. #13
    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
    je viens de m'apercevoir que ce que j'ai decrit dans le post precedent sont deux fonctions differentes je poursuit mes recherches j'arrive a recuperer le clavier avec la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div style="text-align: left;">BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(PARAMETRES, parametre, fonction)
    END_MESSAGE_MAP</div>
    mais j'ai encore un soucis avec les touches ALT et CTRL je n'arrive pas encore a les controler

  14. #14
    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
    avec la fonction begin_message_map j'arrive a consulter le clavier
    dans la Form.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public:  // User declarations
            __fastcall TForm1(TComponent* Owner);
    void __fastcall onRBUTTONUP(TMessage& Msg);
    void __fastcall onRBUTTONUP1(TMessage& Msg);
    BEGIN_MESSAGE_MAP
    // utiliser wm_keyup pour recuperer les touches sauf ALT
            MESSAGE_HANDLER(WM_KEYUP , TMessage, onRBUTTONUP)
    // utiliser wm_syskeydown pour recuperer ALT
            MESSAGE_HANDLER(WM_SYSKEYDOWN, TMessage, onRBUTTONUP1)
    END_MESSAGE_MAP(TForm)
    dans la Form.cpp
    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
     
    TForm1 *Form1;
    //---------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP(TMessage& Msg)
    {
    MessageBox(NULL, "appel WM_KEYDOWN", " form", MB_OK);
    }
    //---------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP1(TMessage& Msg)
    {
    MessageBox(NULL, "appel WM_SYSKEYDOWN", " form", MB_OK);
    }
    je detecte toutes les touches du clavier avec cette methode
    la touche ALt n'est detectee que par l'appel de WM_SYSKEYDOWN je ne sais pas pourquoi

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Probablement parce que c'est une touche "d'état".

    Quand tu fais un OnKeyPress, il détecte pas l'enfoncement de la touche Shift mais te permet juste de savoir si lorsque la touche A par exemple a été enfoncée la touche Shift l'était aussi.

  16. #16
    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
    merci pour ta reponse neilos
    je poursuis mes recherche

    j'ai enfin compris comment detecter les touches de la fonction VK_KEYUP
    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
    41
    42
    43
    44
    45
    46
    47
     
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP(Messages::TMessage& Msg)
    {
    switch (Msg.WParam)
            {
    case VK_ESCAPE:
            {
            MessageBox(NULL, "TOUCHE ESCAPE APPUYEE", " form", MB_OK);
            break;
            }
    case VK_TAB:
            {
            MessageBox(NULL, "TOUCHE TAB APPUYEE", " form", MB_OK);
            break;
            }
    case VK_CONTROL:
            {
            MessageBox(NULL, "TOUCHE CONTROL APPUYEE", " form", MB_OK);
            break;
            }
            }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP1(Messages::TMessage& Msg)
    {
    MessageBox(NULL, "WM_SYSKEYDOWN", " form", MB_OK);
    //switch (Msg.WParam)
    //{
    //        case VK_ALT:
    //        {
    //        MessageBox(NULL, "TOUCHE ALT APPUYEE", " form", MB_OK);
    //        }
    //}
    }
    par contre je ne parvient pas a detecter ALT

    J'ai trouve pour detecter la touche ALT et ALT_GR
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP(Messages::TMessage& Msg)
    {
    switch (Msg.WParam)
            {
    case VK_ESCAPE:
            {
            MessageBox(NULL, "TOUCHE ESCAPE APPUYEE", " form", MB_OK);
            break;
            }
    case VK_TAB:
            {
            MessageBox(NULL, "TOUCHE TAB APPUYEE", " form", MB_OK);
            break;
            }
    case VK_CONTROL:
            {
            MessageBox(NULL, "TOUCHE CONTROL APPUYEE", " form", MB_OK);
            break;
            }
    case VK_MENU: // touche ALT cote DROIT VK_RMENU
            {
            MessageBox(NULL, "TOUCHE ALT_GR APPUYEE", " form", MB_OK);
            break;
            }
            } // fin de switch (Msg.WParam)
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::onRBUTTONUP1(Messages::TMessage& Msg)
            {
    switch (Msg.WParam)
            {
    case VK_MENU: // touche ALT cote GAUCHE VK_LMENU
            {
            MessageBox(NULL, "TOUCHE ALT APPUYEE", " form", MB_OK);
            break;
            }
    }
            } // fin de switch (Msg.WParam)
    1 - peut on dans la detection case simuler un code clavier et l'envoyer a windows avec la commande keybd_event
    2 - comment detecter les deux touches AlT et ALT_GR dans la meme fonction

    comment peut on desactiver une touche ou une combinaison de touches pour la fonction que j'utilise S.V.P. car celle-ci ne renvoie rien a window et je ne vois pas comment faire

  17. #17
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Salut,
    Désolé d'arriver si tard dans votre avancement. J'ai pas mal cherché pour toi blondelle et j'ai trouvé ca pour toi. Ca pourrait être une autre piste. C'est une structure te permettant de restreindre l'utilisateur dans ses libertés.
    Tu déclares et modifies ta structure et l'applique avec la fonction SHRestricted .
    Dans cette structure, il apparait la commande REST_NOCLOSE qui interdirait à l'utilisateur d'éteindre le PC. Attention, si tu débugg fais attention à ne pas empécher d'éteindre ton PC par l'utilisateur une fois ton appli arrété.
    En éspérant que mes recherches t'intéresseront.

  18. #18
    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
    merci du mal que tu te donne bandit boy pour me depanner je vais tester cette piste je donnerais les resultats des essais effectues

Discussions similaires

  1. [TKinter]Controler la fermeture d'une fenêtre
    Par Wormus dans le forum Tkinter
    Réponses: 2
    Dernier message: 11/06/2006, 22h29
  2. fermeture d' une forme avec AnimateWindow
    Par nopnop dans le forum Delphi
    Réponses: 6
    Dernier message: 05/06/2006, 11h32
  3. Réponses: 3
    Dernier message: 02/05/2006, 14h01
  4. [C#] Renvoyer une valeur à la fermeture d'une forms
    Par diaboloche dans le forum Windows Forms
    Réponses: 6
    Dernier message: 14/03/2006, 11h54

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