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

 Delphi Discussion :

Bloquer uniquement la touche delete !


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut Bloquer uniquement la touche delete !
    Bonsoir à toutes et à tous,

    Est t'il possible de bloquer uniquement la touche "Delete" avec Regedit.

    J'ai testé avec la combinaison "Ctrl+Alt+Delete" mais cela ne me convient pas.

    Sinon peut être une autre façon de faire ?

    Merci d'avance,

    @+,

    Cincap

  2. #2
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 287
    Points : 1 934
    Points
    1 934
    Par défaut
    Salut,

    Je suppose que tu veux parler d'autre chose, que de l'évènement KeyPress.

    Ce dernier accessible via VK_DELETE

    @+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour à toutes et à tous,

    @ Droïde Système7,

    Je suppose que tu veux parler d'autre chose, que de l'évènement KeyPress.

    Ce dernier accessible via VK_DELETE
    En effet, depuis une clé Usb (sans installer le logiciel !), ma fille peut bloquer certaines commandes du clavier comme par exemple Ctrl+Alt+Delete, Alt+Tab ect..

    Car le logiciel crée une entrée dans la base de registre.

    Concernant la touche Delete, j'aimerai aussi la neutraliser ou du moins afficher quelque chôse lors de son appui.

    Mais comme le logiciel est exécuté depuis la Clé Usb, je ne pense pas récupérer l'info de l'appui sur cette touche à moins que...

    Sinon avec ceci, cela fonctionne si le logiciel est installé sur le Pc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
     if ( Key=VK_DELETE) then
      begin
        showmessage('Ok') ;
    Beep ;
      end ;
     
    end;
    @+,

    Cincap

  4. #4
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 287
    Points : 1 934
    Points
    1 934
    Par défaut
    Alors peut-être une piste intéressante : t'orienter vers la solution Hooks sur le clavier ?

    @+

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    @ Droïde Système7,

    Alors peut-être une piste intéressante : t'orienter vers la solution Hooks sur le clavier ?
    Donc, j'adapte la procédure du blocage de la touche Alt+F4 et apparemment, se sera la même chôse.

    Edit : Au fait quelle est la différence entre la touche "Supprime" et la touche "Delete" ?

    @+,

    Cincap

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    Bon, je viens de faire l'essai depuis ma clé Usb, si je bloque bien les combinaisons de certaines touches, la touche delete n'est pas bloquée malgré l'arrêt de la session.

    La fonction que j'utilise :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    function MonGestionnaireClavier( Code : Integer; WPar : WPARAM; LPar : LPARAM):LRESULT; stdcall ;
    const
      LLKHF_ALTDOWN = 32 ;
    var
      Infos        : PKBDLLHOOKSTRUCT ;
      AppuiSurCTRL : Boolean ;
      AppuiSurALT  : Boolean ;
    begin
      Result := 1 ;
      Infos := PKBDLLHOOKSTRUCT(LPar) ;
    
      case Code of
        HC_ACTION :
        begin
          AppuiSurCTRL := GetAsyncKeyState( VK_CONTROL ) <> 0 ;
          AppuiSurALT  := ( Infos.flags and LLKHF_ALTDOWN = LLKHF_ALTDOWN ) ;
    
          case Infos.vkCode of
    
            VK_ESCAPE :  // Touche "Echap"
            begin
              if (     ( GVerrouillageCtrlEsc and AppuiSurCTRL )
                   or  ( GVerrouillageAltEsc  and AppuiSurALT  )
                 ) then
              begin
                Exit ;
              end ;
            end ;
    
            VK_TAB : // Touche "Tabulation"
            begin
              if (     ( GVerrouillageAltTab  and AppuiSurALT  )
                 ) then
              begin
                Exit ;
              end ;
            end ;
    
            VK_F4 :  // Touche "F4"
            begin
              if ( AppuiSurALT ) then Exit ;
            end ;
    
             VK_Delete :  // Touche "Delete" Ne fonctionne pas
            begin
              if ( GVerrouillageDelete ) 
              then Exit ;
            end ;
    
            // ----- Clavier Microsoft ----- //
            VK_LWIN , // Touche gauche "Windows"
            VK_RWIN , // Touche droite "Windows"
            VK_APPS : // Touche "Applications"
            begin
              if (     ( GVerrouillageTouchesMicrosoft )
                 ) then
              begin
                Exit ;
              end ;
            end ;
          end ;
        end ;
      end ;
    
      Result:= CallNextHookEx(GHookClavier, Code, WPar, LPar);
    end ;
    Le but étant depuis ma clé Usb, afficher le logiciel et d'un clic, bloquer certaines touches du clavier, enfin fermer le logiciel et reprendre ma clé.

    Après fermeture de la session et réouverture, c'est ok

    Pour débloquer ces touches, remettre ma clé et d'un click rendre les touches bloquées actives.

    Après fermeture de la session et réouverture, c'est ok

    Si quelqu'un avait une idée d'un autre Hook sur le clavier en procédant de cette manière, je suis preneur car apparemment pour ce hook, le logiciel doit rester sur le Pc.

    @+,

    Cincap

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    @ tous, en fait avec la fonction qui bloque aussi maintenant la touche "delete" il faut laisser l'appliquation ouverte et mieux minimisée dans la TrayIcon.

    Je vais cloturer ce topic.

    Si un jour quelqu'un à une autre idée pour le faire directement depuis la clé usb sans installer le logiciel, ce serait un +.

    Merci,

    @+,

    Cincap

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

Discussions similaires

  1. [Toutes versions] Touche Delete inactive
    Par Didier1967 dans le forum Outlook
    Réponses: 0
    Dernier message: 03/02/2014, 15h16
  2. Réponses: 6
    Dernier message: 15/06/2006, 22h02
  3. désactiver la touche DELETE du clavier
    Par awax dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2006, 19h54
  4. Touche Delete dans un TRichEdit
    Par Griswold dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2005, 23h44
  5. Presser la touche delete dans une application
    Par ti-ben dans le forum Langage
    Réponses: 4
    Dernier message: 14/09/2005, 11h18

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