Comment conaitre l'etat du curseur souris n'importe où sur l'écran ? en vb6 ou A

rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013 - 22 janv. 2013 à 14:31
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 janv. 2013 à 17:05
bonjour, comment peut on récupérer l'etat, la forme du curseur de la souris, à tout les endroit et application ?!
Je m'explique dans une form vierge j'ai mis cela :
Private Sub Timer1_Timer()
Text1 = Screen.MousePointer
End Sub

hors cela ne me retourne que la forme du curseur dans cette fenetre, dés que je vais sur une fenetre word juste à côté cela me retourne pas sa forme de text !

y a t'il une api qui existe, où il n'y aurrais plus qu'à utiliser WindowFromPoint(X%, Y%)
pour récupérer le handle et enfin connaitre la forme du curseur à n'importe quel endroit !

19 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
22 janv. 2013 à 18:58
Bonjour,

Il ne faut pas utiliser Screen.mousePointer, mais MaForm.MousePointer, je crois.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 janv. 2013 à 21:28
La propriété MousePointer de l'objet Screen ne concerne que l'objet screen, à savoir le "desktop".
Lorsque tu survoles une autre fenêtre que celle de on appli et du desktop, tu n'es ni sur la fenêtre de ton appli, ni sur l'objet Screen.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
23 janv. 2013 à 07:46
d'accord mais alors je fait comment pour avoir la forme du pointeur souris lorsque le curseur ce trouve sur une autre appli ?
j'aurrais bien aimer faire :
h&=WindowFromPoint(X%, Y%)
text1=api_mousepointer(h&)
mais je trouve pas ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 08:07
d'accord mais alors je fait comment pour avoir la forme du pointeur souris lorsque le curseur ce trouve sur une autre appli

Je n'en sais personnellement rien. Je ne crois d'ailleurs pas que cela soit possible puisque le curseur apparaissant dans l'autre appli n'est pas forcément celui du système et peut être choisi par l'appli elle-même, en seul seul sein.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 08:10
Si le curseur est modifié par l'appli et que la modification qu'elle fait n'est pas celle du curseur système, ce ne sera à mon sens que depuis cette appli elle-même que tu pourras voir le curseur qu'elle choisit. Depuis VB, tu ne pourrais dans ce cas y parvenir que si cette appli externe supporte l'automation et que tu la pilotes depuis VB. Voilà .


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
23 janv. 2013 à 08:13
il doit surement y avoir un moyen, c'est trop simple pour que cela n'existe pas, je vais continuer à chercher...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 08:15
Pire : si l'appli en cause utilise un curseur qu'elle crée elle-même (dynamiquement, donc), tu n'auras absolument aucune chance, même en pilotage si elle supporte l'automation, de connaître la forme de ce curseur.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 08:16
il doit surement y avoir un moyen, c'est trop simple pour que cela n'existe pas, je vais continuer à chercher...

Très bien. Cherche.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 10:51
Tu cherches encore ?
Tu vas te fatiguer pour rien ...
Tiens : je vais te montrer autre chose encore, y compris sur ton propre form :
Un projet tout neuf ===>> tu y mets une picture box Picture1
et ce code :
Private Sub Form_Load()
  With Picture1
  .Picture LoadPicture("d:\Pipette1.ico") '>> Mets ici un chemin vers une icône personnelle de ton choix
  .Visible = False
  End With
  Me.MouseIcon = Picture1
  MousePointer = vbCustom
  ' tu vas voir ! tout ce que tu sauras, c'est que c'est personnalisé
  ' mais sans rien connaître de l'icône utilisée comme curseur
  MsgBox Me.MousePointer 
End Sub

Lance et constate.
Bien ? Vu ?
Maintenant : sur ta machine et en mode création (depuis l'éditeur) : tu es seul capable de savoir quelle icône a été utilisée.
Mais une fois l'exécutable fait et distribué ===>> aucun utilisateur n'aura la moindre petite chance de le savoir. Et encore moins le trouver cette icône sur sa machine (puisqu'elle n'y est pas).
Tu vas me dire quoi et chercher quoi, maintenant que tu sais cela ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 11:00
J'espère que tu as compris que l'exemple ci-dessus n'était là que pour te faire comprendre.
L'exe ne contiendra aucun chemin de ton icône si, en lieu et place de de la ligne disant :
.Picture LoadPicture("d:\Pipette1.ico") '>> Mets ici un chemin vers une icône personnelle de ton choix

tu utilises en mode création la propriété Picture de la picturebox.
De cette manière : l'icône sera chargée en mémoire et l'exécutable n'aura besoin de rien d'autre sur l'autre machine, hein ...
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
23 janv. 2013 à 13:57
D'accord je peut comprendre, mais je tiens seulement a récupérer l'état du curseur choisie, pour de graphisme exacte !
exemple lorsque l'on va dans les propriété de la souris sous windows on as le choix avec plusieurs style graphique, 3d-blanc, 3d bronze, main, main2, windows par defaut,...ETC.
mais tous veulent informer le même etat ("occupé", "aide à la selection","selection normal",...)
...
c'est pas grave si je ressort un graphique différent, du moment qu'il prévient d'un etat exacte !
exemple 2 :
lorsque tu veut redimensionner une fenêtre ton curseur ce transforme en une forme différente du pointeur classic, donc état différent avec un numéro précis, donc ce que donner "MousePointer" !
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
23 janv. 2013 à 14:01
Sinon tu n'aurais pas une adresse à me donner au moins sur un lexique des api, mais ranger par genre => gestion clavier/souris, affichage, disque...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 14:20
mais je tiens seulement a récupérer l'état du curseur

Les deux seuls "états" d'un curseur que je connaisse sont visible et non visible. J'ignore donc de quoi tu parles !
Sinon tu n'aurais pas une adresse à me donner au moins sur un lexique des api

"Lexique des api" ? ===>>> veux-tu dire "liste des fonctions connues de l'Api de Windows" ?
Si oui === >> va là :
Tapez le texte de l'url ici.
et installe sur ta machine ApiViewer
A l'éxécution, tu pourras choisir de les afficher comme tu le souhaites (ordre alphabétique ou par groupe).
3) pour le reste : excuse-moi, mais tu me parais t'égarer et je n'ai pas la moindre intention de t'accompagner dans cette marche dans ton brouillard.
Bonne chance.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
23 janv. 2013 à 15:17
super, ça c'est du lexique !
et je crois être sur une bonne piste :
Private Declare Function GetCursor Lib "user32" () As Long
qu'est-ce que tu en pense ?
le probleme c'est qu'il renvoie un handle, mais c'est deja cela !
...
ce que je veut c'est un mousepointer2 qui me renvoie l'etat du curseur, regarde la msdn sur mousepointer tu comprendras !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 janv. 2013 à 17:42
et je crois être sur une bonne piste :
Private Declare Function GetCursor Lib "user32" () As Long
qu'est-ce que tu en pense ?

Tu n'obtiendras avec cela que le curseur système en cours. Ce qui n'a rien à voir avec le but que tu recherches ! Dangereuse, serait une l'application (topn appli externe) qui, pour afficher son/ses curseur(s), s'amuserait à modifier le curseur système ! Même sans parler d'interruption brutale, si elle s'amuisait à le faire, ce curseur serait imposé à toutes les autres applis en cours !*
Tu me dis :
regarde la msdn sur mousepointer tu comprendras !

Merci, mais c'est depuis des années fait et compris en ce qui me concerne. Je crois par contre que c'est encore loin d'être ton cas.
Bonne chance quand-même dans tes pérégrinations.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
24 janv. 2013 à 10:34
j'ai trouvé ce que je voulais avoir le Code source :

http://www.vbfrance.com/codes/MOUSEPOINTER2-VB6-VERSION-ETENDUE-MOUSEPOINTER-GETCURSOR_54908.aspx

Même si je n’ai pas la forme de tout les curseurs, j'ai les principaux !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 janv. 2013 à 10:42
C'est une plaisanterie ?
On s'écarte là considérablement de ton but originel et cela ne saurait répondre, en plus, à tous les cas de figure, notamment si tous les curseurs utilisés dans l'appli externe sont personnalisés (ce qu'il m'est arrivé de faire plus d'une fois et que je connais beaucoup d'applis qui en font autant)!


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
rebixav Messages postés 130 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 28 janvier 2013
24 janv. 2013 à 16:34
Exemple pour mon contrôle a distant cela me va déjà trés bien, je ne me voyais pas renvoyer l'image du curseur a chaque fois, j'ai une limite d’envoi a ne pas négliger !
J'ai très bien compris ce que tu me dis depuis des lignes et des lignes, mes cool je ne voulais que le standard flèche de windows, comme je te l'ais déjà expliqué, et cette solution me convient ! Et même si pour mon contrôle distant je doit à un moment donner envoyer le graphisme complet, j’aurais au moins évité l'envoie du standard !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 janv. 2013 à 17:05
Ouais ...
Tu veux que je te fasses vite fait bien fait une petite appli, dont tu n'auras que l'exe, qui réagira avec plusieurs curseurs pour représenter un sablier, une pipette, une croix, etc ... et dont ton code renverra toujours "1", quel que sera le curseur en cours sur cette appli ?
Tu comprendras mieux


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous