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

Lazarus Pascal Discussion :

Détecter les clics en dehors de la Form (Win et Linux) [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 212
    Par défaut Détecter les clics en dehors de la Form (Win et Linux)
    Bonjour,

    J'en appelle à vos savoirs car je n'ai pas trouvé.
    Je cherche à détecter la position du curseur de la souris quand on réalise un droite ou gauche-clic n'importe où sur l'écran y compris [surtout...] en dehors de l'application.

    J'ai trouvé ce vieux morceau de code : https://lazplanet.gitlab.io/2016/06/...side-your.html

    Après légère adaptation (écrit pour du 32 bits à la base), ça fonctionne très bien sous Windows.

    Problème : sous Linux ça ne fonctionne pas du tout.
    Avec quelques recherches, j'ai compris qu'il me fallait probablement utiliser les unités Process, LCLIntf, LMessages.

    A la compilation, j'ai les erreurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Identifier not Found "wm_lbuttonup" (et aussi tous les autres wParam possibles)
    Identifier not Found "SetWindowsHookEx"
    Identifier not Found "UnhookWindowsHookEx"
    ce qui me semble normal puisque cela semble correspondre à des dénominations windows

    Auriez-vous des pistes pour m'orienter, afin de rendre la compilation de cet outil possible sous les 2 types d'OS ?

    Merci pour toute l'aide que vous pourrez m'apporter ! (ou pour me dire que c'est impossible si tel est le cas)

    PS : autodidacte, utilisant Lazarus ponctuellement pour me coder des petits outils simples, c'est la première fois que je crosse-compile (en vue d'une migration d'OS) mais je suis de bonne volonté si on veut bien m'expliquer comme à un quasi-novice (l'école m'a donné il y a 30 ans un léger vernis de Turbo Pascal puis Delphi, c'est dire comme cela est ... loin...)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 212
    Par défaut
    Je m'auto-réponds, si cela peut servir à quelqu'un :

    cela à l'air de fonctionner en utilisant la technique développée dans ce topic, plus particulièrement la solution proposée par ChPr au post #16.

    A noter que dans les uses, il faut dans ce cas inclure ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LMessages,{$IFDEF Windows}Windows,{$ENDIF} {$IFDEF LINUX}Process, LCLIntf, LCLType,{$ENDIF} FileUtil
    (ayant un peu galéré, si cela peut éviter qu'une autre personne tourne aussi longtemps que moi autour de la solution).
    Étrangement, à la compilation on me dit que LMessages n'est pas utilisé, mais si je le supprime cela ne fonctionne plus.

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

Discussions similaires

  1. Réponses: 23
    Dernier message: 17/07/2007, 10h39
  2. Réponses: 2
    Dernier message: 14/04/2007, 12h33
  3. [Forms-PJC]Les events en dehors de mon wrapper
    Par patmaba dans le forum Forms
    Réponses: 13
    Dernier message: 16/06/2006, 12h05
  4. Gérer les boutons Minimize,Close d'une forme
    Par Chupakabra dans le forum Langage
    Réponses: 2
    Dernier message: 05/10/2005, 11h42
  5. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 15h34

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