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

Windows Discussion :

Une histoire de clic. . . .


Sujet :

Windows

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Points : 127
    Points
    127
    Par défaut Une histoire de clic. . . .
    Bonjour ,

    J'essaie de controler une fenetre via un petit programme.
    En gros la fenetre se compose d'une image sur laquelle il ya differente zone, lappuie, sur tel ou tel zone declenche telle ou telle action.

    Mais le probleme c'est que j'arrive pas à lui faire comprendre que je clic, enfin pas tout le temps ^^.

    voila le code (avec les coord de la souris et de la zone où cliquer hardcodé mais c pas le prob)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    print win32api.SendMessage(h, 0x20, 0x001114A0, 0x02000001) #setcursor
        print win32api.SendMessage(h, 0x0200, 0, 0x003B0020) #mousemove
        
        print win32api.SendMessage(h, 0x20, 0x001114A0, 0x02010001) # wm_setcursor
        print win32api.SendMessage(h, 0x0201, 0x0001, 0x003B0020) # wm_lbuttondown
        print win32api.SendMessage(h, 0x0202, 0x00, 0x003B0020) # wm_lbuttonup
    Donc quand je le lance une fois, aucun clic n'est enregistré et jai ceci ds le log de spy++ :
    <00001> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
    <00002> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00003> 001114A0 S WM_MOUSEMOVE fwKeys:0000 xPos:32 yPos:59
    <00004> 001114A0 R WM_MOUSEMOVE
    <00005> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN
    <00006> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00007> 001114A0 S WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:32 yPos:59
    <00008> 001114A0 R WM_LBUTTONDOWN
    <00009> 001114A0 S WM_LBUTTONUP fwKeys:0000 xPos:32 yPos:59
    <00010> 001114A0 R WM_LBUTTONUP
    <00011> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
    <00012> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00013> 001114A0 S WM_MOUSEMOVE fwKeys:0000 xPos:32 yPos:59
    <00014> 001114A0 R WM_MOUSEMOVE
    <00015> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN
    <00016> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00017> 001114A0 S WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:32 yPos:59
    <00018> 001114A0 R WM_LBUTTONDOWN
    <00019> 001114A0 S WM_LBUTTONUP fwKeys:0000 xPos:32 yPos:59
    <00020> 001114A0 R WM_LBUTTONUP
    Par contre, si je lance ce bout de code deux fois de suite tres rapidement, le clic est enregistré deux fois et ds spy++ jai :
    <00021> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
    <00022> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00023> 001114A0 S WM_MOUSEMOVE fwKeys:0000 xPos:32 yPos:59
    <00024> 001114A0 R WM_MOUSEMOVE
    <00025> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN
    <00026> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00027> 001114A0 S WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:32 yPos:59
    <00028> 001114A0 R WM_LBUTTONDOWN
    <00029> 001114A0 S WM_LBUTTONUP fwKeys:0000 xPos:32 yPos:59
    <00030> 001114A0 S .WM_NCHITTEST xPos:1082 yPos:125
    <00031> 001114A0 R .WM_NCHITTEST nHittest:HTCLIENT
    <00032> 001114A0 R WM_LBUTTONUP
    <00033> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE
    <00034> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00035> 001114A0 S WM_MOUSEMOVE fwKeys:0000 xPos:32 yPos:59
    <00036> 001114A0 R WM_MOUSEMOVE
    <00037> 001114A0 S WM_SETCURSOR hwnd:001114A0 nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN
    <00038> 001114A0 R WM_SETCURSOR fHaltProcessing:False
    <00039> 001114A0 S WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:32 yPos:59
    <00040> 001114A0 R WM_LBUTTONDOWN
    <00041> 001114A0 S WM_LBUTTONUP fwKeys:0000 xPos:32 yPos:59
    <00042> 001114A0 S .WM_CAPTURECHANGED hwndNewCapture:00000000
    <00043> 001114A0 R .WM_CAPTURECHANGED
    <00044> 001114A0 S .WM_NCHITTEST xPos:1082 yPos:125
    <00045> 001114A0 R .WM_NCHITTEST nHittest:HTCLIENT
    <00046> 001114A0 R WM_LBUTTONUP
    Enfin voila koi je comprend pas trop bien. je vois juste comme diff qu'il ya un message WM_NCHITTEST qui se gliss apres le WM_BUTTONUP mais kan je le rajoute ds le code precedent ça ne marche toujours pas.

    Merci

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    J'ai resolu le probleme avec SetCursorPos et SendInput
    -->http://mail.python.org/pipermail/pyt...il/003131.html

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

Discussions similaires

  1. Une histoire de compte à rebours (avec formulaire)
    Par Olivier14 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 04/03/2009, 13h43
  2. Une histoire de popup
    Par zoidy dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 02/06/2006, 14h39
  3. [VBA-E] agrandissement d'une celulle sur clic
    Par mavean dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/11/2005, 22h24
  4. Une histoire de lien...
    Par sloshy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 25/08/2005, 23h13
  5. [JAR][debutant] encore une histoire de classpath
    Par blaz dans le forum Général Java
    Réponses: 6
    Dernier message: 27/07/2005, 12h28

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