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 la souris et le clavier


Sujet :

Delphi

  1. #1
    Membre habitué
    Profil pro
    Chef d’entreprise
    Inscrit en
    Mars 2002
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef d’entreprise

    Informations forums :
    Inscription : Mars 2002
    Messages : 212
    Points : 149
    Points
    149
    Par défaut Bloquer la souris et le clavier
    Bonjour
    Je veux bloquer la souris et le clavier pendant l'exécution de mon application.
    Qui peut m'aider?
    Merci

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 864
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 864
    Points : 3 438
    Points
    3 438
    Par défaut
    Salut,

    Tu ne peux pas bloquer comme ça simplement les fonctionnalités vitales de l'ordinateur. Tu programmes sur un système multi-taches, donc il faut toujours laisser la main aux autres applications / au clavier/souris si possible.

    J'imagine qu'il y a toujours un moyen de le faire, mais bon.. Pourquoi faire ? C'est totalement contraire aux principes du multi tache.

    A+

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 742
    Points : 355
    Points
    355
    Par défaut
    voilà j'ai trouvé ce code sur internet qui vous permet de bloquer la souris et le clavier :

    // Import BlockInput function form user32.dll:
    // BlockInput Funktion von user32.dll importieren:

    function BlockInput(fBlockInput: Boolean): DWORD; stdcall; external 'user32.DLL';

    {block input/ blockieren}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    BlockInput(True);
    end;

    {Unblock input / Blockierung aufheben}

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    BlockInput(False);
    end;

    {
    Notes:
    Requires Windows 98/2000 or later.
    You can unblock input by pressing CTRL+ALT+DEL
    If you don't want the user to unblock
    by pressing CTRL+ALT+DEL, additionally write:
    SystemParametersInfo(97,Word(True),@OldValue,0);
    and to undo it:
    SystemParametersInfo(97,Word(False),@OldValue,0);
    (Var OldValue : Longbool)

    If you want to unblock your input after pressing button1
    the simple way to do it is use timer
    (just set it for few sec and tell it to unblock input
    after counting down)

    Bemerkungen:
    Läuft nur unter Windows 98/2000 und
    späteren Versionen.
    Eine Blockierung kann mit CTRL+ALT+DEL aufgehoben werden.
    Um auch CTRL+ALT+DEL zu verhindern, kann zusätzlich noch
    SystemParametersInfo(97,Word(True),@OldValue,0);
    aufgerufen werden und mit
    SystemParametersInfo(97,Word(False),@OldValue,0);
    rückgängig gemacht werden.
    (Var OldValue : Longbool)

    Um eine Blockierung automatisch nach einer bestimmten
    Zeit wieder aufzuheben, kann ein Timer eingesetzt werden.
    }

    {***********************************************************}

    {Function from

    Babak Sateli
    babak_sateli@yahoo.com
    www.cdcenterco.com}

    function FunctionDetect(LibName, FuncName: string; var LibPointer: Pointer): Boolean;
    var
    LibHandle: THandle;
    begin
    Result := False;
    LibPointer := nil;
    if LoadLibrary(PChar(LibName)) = 0 then Exit;
    LibHandle := GetModuleHandle(PChar(LibName));
    if LibHandle <> 0 then
    begin
    LibPointer := GetProcAddress(LibHandle, PChar(FuncName));
    if LibPointer <> nil then Result := True;
    end;
    end;

    // On Button Click Even

    procedure TForm1.Button1Click(Sender: TObject);
    var
    xBlockInput: function (Block: BOOL): BOOL; stdcall;
    begin
    if FunctionDetect('USER32.DLL', 'BlockInput', @xBlockInput) then
    begin
    xBlockInput(True); // Disable Keyboard & mouse
    Sleep(10000); // Wait for 10 Seconds
    xBlockInput(False); // Enable Keyboard & mouse
    end;
    end

  4. #4
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    tu peut pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject); 
    begin 
    BlockInput(False); 
    end;
    aprés BlockInput(true); car la souri et le clavier seront blocké
    mais tu peut le mettre dans un evenement timer ou aprés un slip comme le code que tu as donnée al fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click(Sender: TObject); 
    var 
    xBlockInput: function (Block: BOOL): BOOL; stdcall; 
    begin 
    if FunctionDetect('USER32.DLL', 'BlockInput', @xBlockInput) then 
    begin 
    xBlockInput(True); // Disable Keyboard & mouse 
    Sleep(10000); // Wait for 10 Seconds 
    xBlockInput(False); // Enable Keyboard & mouse 
    end; 
    end

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

Discussions similaires

  1. Bloquer la souris & le clavier
    Par imparator_42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/03/2009, 19h35
  2. Prendre le contrôle de la souris avec le clavier
    Par Asdorve dans le forum Vos contributions VB6
    Réponses: 2
    Dernier message: 10/06/2007, 22h28
  3. Réponses: 6
    Dernier message: 20/03/2007, 14h49
  4. [Projet commun] Prendre le contrôle de la souris avec le clavier
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/01/2007, 14h43
  5. Réponses: 2
    Dernier message: 17/11/2006, 14h48

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