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 :

Désactiver le Alt + Tab [Non suivi]


Sujet :

C++Builder

  1. #1
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut Désactiver le Alt + Tab
    Bonjour à tous

    J'aimerais savoir s'il est possible de désactiver la combinaison Alt + Tab

    J'ai trouver ce post sur le forum mais cela ne m'aide pas beaucoup.

    [Non suivi] Comment désactiver Alt-Tab


    Moi en fait, je ne veux pas le désactiver tout le temps dans mon application. Je veux juste le désactiver à un moment précis car je doit effectuer une capture d'écran.

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Tu as essayé en gérant l'évènement OnKeyPress de ta fiche???

  3. #3
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    non je n'ai pas essayé car je pensait que vu que c'est des combinaison de touches de windows et non de mon application, cela ne fonctionnerait pas.

    Je vais essayer.

    Merci

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello

    Un p'tit hook clavier ??

    goto http://www.wpostal.com/anglais/api.htm

    Ca donne ça:
    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
    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);
      }
    A++

  5. #5
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    tun intègre ça comment dans un programma car personnellement, j'y connait rien au hook

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello

    L'exemple fourni plus haut devrait suffire... Mets un bouton sur ta fiche, et sur le OnClick, rajoute ce qu'il y a dans Button11Click.

    Tel quel, si tu places la déclaration du HHOOK et de LowLevelKeyboardProc juste avant le code de ton bouton, ca devrait marcher.
    SetWindowsHookEx sert à installer le hook et te renvoie un handle sur le hook installé, UnhookWindowsHookEx le désinstalle... Pour plus d'explications, cf MSDN

    Bon courage

    A++

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Points : 713
    Points
    713
    Par défaut
    je pense que tu veux donner le 1er plan à ton application

    pourquoi ne pas creer une boucle à la creation du processus verifant si ton appli est au 1er plan toutes les secondes par exemple

    ca equivaudrait à rendre impuissant un alt+tab

  8. #8
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Je vais essayer ça

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

Discussions similaires

  1. Désactiver les touches Alt+TAB en plein écran
    Par Eric_M dans le forum VB.NET
    Réponses: 6
    Dernier message: 04/06/2010, 22h54
  2. Désactiver le Alt+Tab
    Par J.Michel dans le forum Windows XP
    Réponses: 4
    Dernier message: 04/07/2008, 11h38
  3. Désactiver la combinaison alt+tab
    Par kenshi240683 dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 14/05/2008, 10h31
  4. Détecter ou désactiver le Alt+Tab
    Par Antoun dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/02/2007, 10h27
  5. Comment désactiver Alt-Tab
    Par psau dans le forum C++Builder
    Réponses: 7
    Dernier message: 13/06/2005, 13h56

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