Simuler un click gauche... [Résolu]

al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 07:50 - Dernière réponse : al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention
- 25 avril 2016 à 08:41
Bonjour,
J'ai cherché toute la nuit sur le net, beaucoup de sujets dessus, mais je n'arrive pas à faire fonctionner le prog...

Comment pourrais je simuler un click gauche aux coordonnéées 100 100 par exemple ...?

merci beaucoup
Afficher la suite 

33 réponses

Répondre au sujet
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 25 avril 2016 à 06:46
+1
Utile
Je ne suis pas cinglant quand la question pe.parrait bête, mais quand elle tend à montrer que le demandeur ne fait pas d'efforts de son côté.
Quoiqu'il en soit, je n'en ferais plus pour toi
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Whismeril
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 23 avril 2016 à 09:41
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 11:47
C est moi whismeril lol
Ça doit être du vb.net, j utilise visual studio 2015 et il me parle de .net framework donc ça doit être ça lol
Meme langage que pour http://codes-sources.commentcamarche.net/forum/affich-10063866-simuler-un-click-gauche ;)

Merci encore whismeril !
Commenter la réponse de Whismeril
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 23 avril 2016 à 12:14
0
Utile
Ok, peux tu d'écrire plus précisément ton besoin, afficher un menu, faire comme si on avait cliqué sur un contrôle, autre?
Commenter la réponse de Whismeril
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 13:01
0
Utile
"simplement" un sub avec lequel on peut simuler un clic gauche aux coordonnées X et Y (par rapport à l’écran) à l'aide de deux textbox (une pour X et une pour Y) ....

merci :)
Commenter la réponse de al78310
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 23 avril 2016 à 13:36
0
Utile
En dehors de ton appli?
Commenter la réponse de Whismeril
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 21:14
0
Utile
oui exactement.
les coordonnées sont par rapport a l écran
;)
Commenter la réponse de al78310
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 23 avril 2016 à 21:33
Commenter la réponse de Whismeril
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 23:18
0
Utile
wow je ne savais pas que y avais des traducteur, c cool !
merci
Commenter la réponse de al78310
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 23 avril 2016 à 23:24
0
Utile
Ca marche pas du tout le convertisseur apparament ...
Commenter la réponse de al78310
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 24/04/2016 à 00:37
0
Utile
Bonjour,
Comme chacun commence à le savoir, je n'aime pas trop aider à ce genre de manoeuvres (leur finalité me déplait) souvent en relation avec un week-end ou des vacances scolaires ...
Si c'est à des fins vraiment sérieuses, regarde ce que j'utiliserais en VB6. En VB.Net, seuls les typages sont à modifier ===>>
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10

Private Sub Command1_Click()
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, 400, 300, cButt, dwEI
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, cButt, dwEI
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, cButt, dwEI
End Sub

Cet exemple clique en coordonnées 400,300
Attention : ces valeurs ne sont pas en pixels. Si tu veux aller sur un point défini en pixels, il va te falloir passer des unités pixels aux unités Himetrics.
Voilà. Tu en sais assez pour t'y mettre, si c'est pour du sérieux. Et tu n'es pas avancé pour un sou s'il s'agit d'autre "chose".
Voilà tout en ce qui me concerne.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 24 avril 2016 à 03:01
0
Utile
1
Euhhhh j'ai jamais vu une réponse aussi bizarre que celle ci...
que veut dire :
"je n'aime pas trop aider à ce genre de manœuvres (leur finalité me déplait) souvent en relation avec un week-end ou des vacances scolaires ... " ???
"si c'est pour du sérieux. Et tu n'es pas avancé pour un sou s'il s'agit d'autre "chose"."???
que crois tu que j' invente comme programme? un programme de bombe atomique? un programme pour remonter le temps? ...
Je te rassure rien qui puisse être illégal ou même emmerder (même un tout petit peu) quelqu un...
Maintenant je te remercie quand même pour ta réponse
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 24 avril 2016 à 07:39
Bien.
Peux-tu donc nous l'indiquer, la finalité de ce clic simulé ?
Pour être sérieux : je ne vois que deux réponses possibles :
1) tu veux ainsi "piloter" une application externe ===>> ni des clics simulés ni des sendkeys ne sont alors la solution sérieuse
2) tu veux "robotiser" des gestes, des actions, sur un jeu (entre autres et par exemple) ===>> je ne serais alors jamais là pour t'aider à cela (agis normalement). J'espère que tu n'es pas venu ici dans un tel seul but !
Est-ce maintenant plus clair ?

EDIT : et cette partie de tes "explications" :
à l'aide de deux textbox

en dit assez long sur le fait que tu tâtonnes pour savoir où "cliquer".
Si tu persistes dans cette voie :
1) je te recommande de sauvegarder tous tes travaux éventuellement en cours avant de tels "tâtonnements"
2) gaffe à éviter tes essais alors que tu es dans l'IDE. Et surtout pas de "pas à pas" dans ce cas.
Commenter la réponse de al78310
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 24 avril 2016 à 09:06
0
Utile
Bonjour

Uc, je ne pense jamais à la possibilité de triche à jeux....
Al, j'ai testé le code en C#, puis traduit par le premier site de la recherche, tout marche.
Commenter la réponse de Whismeril
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 24 avril 2016 à 20:45
0
Utile
bonjour
Ucfoutu:Ce n'est pas pour tricher non plus, mais c est pour effectivement piloter une application externe...
"ni des clics simulés ni des sendkeys ne sont alors la solution sérieuse " quel serait la meilleur solution pour toi stp?

whismeril quand je copie le code dans le traducteur, il souligne plein de chose en rouge, et donc le résultat de la traduction me dit de corriger les erreur avant de traduire...

Merci a vous deux
bonne fin de we
Commenter la réponse de al78310
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 24 avril 2016 à 20:48
0
Utile
Pour piloter une application, il faut utiliser son API, c'est fait pour.

il souligne plein de chose en rouge
oui figure toi qu'il existe des correcteurs d'orthographe dans les navigateurs internet, et il est rare qu'ils parlent le C#.....
Commenter la réponse de Whismeril
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 24/04/2016 à 21:00
0
Utile
mais c est pour effectivement piloter une application externe.
..
Et quelle est très précisément cette application externe ?
Est-elle sur ta machine ou ailleurs ?
Supporte-t-elle l'automation ou non ? (c'est sa doc qui te renseignera sur ce point).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 24 avril 2016 à 21:23
0
Utile
2
"oui figure toi qu'il existe des correcteurs d'orthographe dans les navigateurs internet, et il est rare qu'ils parlent le C#..... "

lol effectivement... mais le traducteur me retourne une erreur...Pourrais tu copié le code traduit ici stp?

Dsl ucfoutu mas je neveux pas en dire plus... l' appli est est sur ma machine et ne supporte pas l automation

Merci
Whismeril 10536 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 24 avril 2016 à 23:03
Très franchement non.
Nous ne sommes pas là pour faire tout le boulot à ta place.
J'ai essayé, ça marche.
Si pour toi non, c'est que tu m....e quelque part.

Soit tu cherches, soit tu postes la traduction que tu as obtenue, avec le message d'erreur de VS
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 24 avril 2016 à 23:53
wow effectivement ça a marché... Mais je te promet qu' a midi dans la fenetre de droite, ça me renvoyait une erreur sur deux ligne du genre "ya une erreur dans ton prog, vérifie avant de traduire".
Commenter la réponse de al78310
jordane45 19234 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - 24 avril 2016 à 23:34
0
Utile
7
Bonjour,

En même temps ... si ton but n'est que de simuler des clics sur l'écran ..... je te conseillerai d'utiliser AUTOIT.
De plus... si tu veux absolument coder en .net .... tu peux utiliser la dll d'autoit dans tes programmes VB.NET ( ou C# au choix).

al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 00:23
merci jordane mais non autoit ne me permet pas de faire ce que je veux...
En fait j'ai deja fait mon prog en vba , mais je voulais qu il fonctionne sans excel, d ou mon choix pour vb.net
Mais vb.net me semble beaucoup moins flexible que vba...
jordane45 19234 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention > al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 00:31

mais non autoit ne me permet pas de faire ce que je veux

En quoi ne ferait-il pas ce que tu veux ??????


Mais vb.net me semble beaucoup moins flexible que vba..

Bien au contraire .. il est plus complet ....
Mais sa syntaxe est bien différente.

Je le redis encore une fois .... TU PEUX IMPORTER LA DLL d'AUTOIT dans un programme VB.NET ... ce qui te permet d'utiliser les fonctions (et uniquement celles qui t'interessent) d'autoit dans ton prog vb.NET.
En l'occurence... la gestion des fenêtres... et la "simulation" de clics.

Bon.. moi je laisse tomber. Tu ne sembles pas chercher à comprendre ce qu'on te dit... ni même à te documenter sur les fonctionnalités de ce qu'on te propose.

Bonne continuation !
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 00:47
j me suis mal exprimé,je voulais dire que vb.net était moins flexible dans le sens plus difficile a manipuler pour un novice que vba car effectivement vb.net est plus complet.

Je suis aller sur le site d autoit et g pas trouver ce que je voulais....
Importer et manipuler des dll... peut être que je m en fais une montagne mais ça m a l'air bien compliqué...
Maintenant je sais que que vb.net peut faire ce que je veux en quelque ligne car vba le fait tres bien
jordane45 19234 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention > al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 01:03
Visiblement... tu ne sembles pas non plus savoir chercher ... (désolé.... je commence à être désagréable...)
Voila en autoit :
https://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm

Utiliser la DLL autoit dans du VB.NET
https://www.autoitscript.com/forum/topic/166484-using-autoit-in-vbnet/

Use regsvr32 AutoItX3.dll and register the DLL.
Then add a project reference inside the solution


ou encore :
http://tutoriels.pecaudchristopher.com/TutorielAutoItDll.php

Ou même : http://autoitsourcecode.blogspot.fr/2013/04/how-to-use-autoit-in-c.html ( idem pour le vb.net )
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 01:20
je te rassure jordan tu semblais désagréable depuis le début. ne t inkiete pas, ca c est tous les francais. Comme whismeril qui est cinglant à chaque fois qu une question lui parait bete ou encore ucfoutu qui t agresse directement.
C'est pas très cool pour les novices, je me bat avec ce langage inconnu comme je peux, et j y passe des journées.
Bref, je vais vous laissez tranquil, en vous souhaitant une bonne continuation.
bye
Commenter la réponse de jordane45
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 25/04/2016 à 08:11
0
Utile
Bon ...
On va résumer et rapprocher les choses :
1)
Dsl ucfoutu mas je neveux pas en dire plus... l' appli est est sur ma machine et ne supporte pas l automation

2)
En fait j'ai deja fait mon prog en vba , mais je voulais qu il fonctionne sans excel, d ou mon choix pour vb.net

3)
Maintenant je sais que que vb.net peut faire ce que je veux en quelque ligne car vba le fait tres bien

Ah !
Hé bien : montre donc ce que tu as écrit en VBA et qui "fait" la chose comme tu l'entends. Et sa transposition en VB.Net te sera proposée.
Nous n'avons pas vu jusqu'à présent la moindre ligne de code au moins tenté ! Ni même la tentative d'utilisation du code VB6 que je t'ai montré et dont la transposition en VB.Net ne nécessite pourtant que ce que je t'en ai dit (modification du seul typage).
J'ai beaucoup "apprécié" que tu ne veuilles pas "en dire plus"... Ben ... je fais donc personnellement un choix égal ...(cela te paraîtrait-il surprenant ?)

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - Modifié par al78310 le 25/04/2016 à 08:23
0
Utile
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_RIGHTDOWN As Long = &H8
Public Const MOUSEEVENTF_RIGHTUP As Long = &H10

Sub test()
SetCursorPos Val(UserForm1.TextBox29), Val(UserForm1.TextBox30)
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

End Sub

voia mon code vba

mais c bon j ai trouvé la solution pour ma demande initiale, Merci
Commenter la réponse de al78310
ucfoutu 18022 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - Modifié par ucfoutu le 25/04/2016 à 08:17
0
Utile
1
Ce code que tu montres-là :
1) est parfaitement utilisable en VB.Net, pour autant (bis repetita) que tu modifies le typage des paramètres de ces deux fonctions.
2) ne fait rien d'autre que celui que je t'ai proposé plus haut et qui, lui, n'utilise qu'une seule fonction de l'Api de Windows et rend inutile l'utilisation de SetCursorPos !
3) est dangereux (je t'en ai parlé plus haut).
Bref ...

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
al78310 45 Messages postés dimanche 4 octobre 2015Date d'inscription 29 mai 2016 Dernière intervention - 25 avril 2016 à 08:41
je bidouille je sais... c'est trop long d'apprendre tout ça même si ça serait l idéal...(surtout que je trouve ça très intéressant,)
C est comme si tu voulais voyager en Angleterre 15jours , tu va pas apprendre l'anglais en entier mais juste les mots les mots les plus usuels...la c'est juste pour un programme...
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

simuler un click gauche... - page 2