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

API, COM et SDKs Delphi Discussion :

Empécher retour Windows


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut Empécher retour Windows
    Bon voilà je suis en train de réaliser une sorte d'écran de veille intéractif : if afffiche tout un tas de choses utiles et ne peut etre quitter que si on a le bon nom d'utilisateur et le mot de passse qui va avec. Mais comment empécher le retour a windows par-ce que j'ai pu l'enlever du gestionnaire des taches, j'ai fais disparaître la barre des taches mais lorsqu'on clic sur la touche windows, celà nous affiche tous de même le menu alors comment empécher cela ? Merci de vos réponses.

  2. #2
    Membre émérite
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Par défaut
    Pourquoi tu ne fais pas un vrai écran de veille (fichier scr) ?
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    les touches de retour windows semblent être LWin et RWin => tu dois pouvoir les désactiver en les catchant
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut
    Citation Envoyé par MD Software
    Pourquoi tu ne fais pas un vrai écran de veille (fichier scr) ?
    ba ca changerai quoi ??
    les touches de retour windows semblent être LWin et RWin => tu dois pouvoir les désactiver en les catchant
    ca veut dire quoi catcher ?

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    tu dois intercepter l'appui sur ces touches dans ton appli pour éviter leur traitement standard :
    1/ tu mets la propriété KeyPreview de ta fiche à True
    2/ tu utilises l'événement OnKeyPress de ta fiche pour une procédure perso qui va tester la touche pressée et si c'est l'une de ces touches, tu annules

    mais il est peut-être possible que l'appui sur ces touches ne passe pas par là !!!
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par ffxlenoir
    ca veut dire quoi catcher ?
    Commence par faire comme te l'as indiqué tourlourou.
    Par contre, l'évènement à gérer n'est pas OnKeyPress (incapable de "voir" les touches comme Ctrl ou Alt), mais OnKeyDown (capable même de voir les clics souris).
    Tu peux notamment annuler tous les codes reçus, sauf un en particulier destiné à terminer ton application.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Mac LAK
    Tu peux notamment annuler tous les codes reçus, sauf un en particulier destiné à terminer ton application.
    Ca m'intéresse aussi.
    Comment peut-on annuler une touche.
    Je pensais mettre Key à 0, mais ce n'est pas ca ...

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Lung
    Ca m'intéresse aussi.
    Je viens de faire quelques tests, et il y a 3 cas de figure :
    - Touches 100% interceptées (ESC par exemple).
    - Touches non-interceptables (TAB), apparemment gérées par Windows directement, ou par la boucle de messages ?
    - Touches interceptées, mais malgré tout "vues" et "interprétées" par Windows (ex : touche Windows, justement).
    Je n'ai pas mieux sous le coude.

    Citation Envoyé par Lung
    Comment peut-on annuler une touche.
    Je pensais mettre Key à 0, mais ce n'est pas ca ...
    Si, c'est ça, mais tu as dû oublier de mettre "Shift:=[];" en plus (annuler les modificateurs de touche également).
    Pour certaines touches, il faudra peut-être aussi modifier OnKeyUp, et annuler également le code dans ce gestionnaire : j'avais eu le problème pour un gestionnaire d'évènements un peu particulier. J'avais résolu le problème en déclarant que OnKeyUp et OnKeyDown utilisaient le même gestionnaire d'évènements (pas à écrire le code 2 fois, donc), chaque gestionnaire ne faisant qu'annuler certaines touches.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Membre confirmé Avatar de 0x4e84
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2002
    Messages : 116
    Par défaut dWinlock
    Hello,

    Si tu souhaite avoir quelque chose de très efficace et si un produit payant ne t'effraie pas, tu peux aller jeter un oeil sur le composant suivant pour Delphi:

    http://www.kassl.de/dwinlock/index.html

    Et l'article qui lui est consacré sur "Delphi.about.com":

    http://delphi.about.com/od/windowsshellapi/l/aa012103a.htm


    klokinou

Discussions similaires

  1. Retour windows avec les touches multimedia
    Par GR3lh442kR dans le forum Périphériques
    Réponses: 3
    Dernier message: 30/01/2012, 13h37
  2. Empêcher l'arrêt de Windows
    Par DeusXL dans le forum Windows XP
    Réponses: 6
    Dernier message: 01/02/2008, 13h57
  3. Empêcher de retirer un disque SATA sous Windows
    Par KibitO dans le forum Composants
    Réponses: 6
    Dernier message: 02/05/2006, 22h30
  4. Réponses: 13
    Dernier message: 20/12/2004, 19h28
  5. Empêcher le retour á la ligne entre des balises <Hx> e
    Par thomas_chamas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/11/2004, 16h39

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