Simuler un click gauche...

Résolu
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016 - 23 avril 2016 à 07:50
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016 - 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
A voir également:

21 réponses

Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
25 avril 2016 à 06:46
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
2
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
23 avril 2016 à 09:41
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
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 !
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
23 avril 2016 à 12:14
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?
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
23 avril 2016 à 13:01
"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 :)
0

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

Posez votre question
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
23 avril 2016 à 13:36
En dehors de ton appli?
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
23 avril 2016 à 21:14
oui exactement.
les coordonnées sont par rapport a l écran
;)
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
23 avril 2016 à 21:33
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
23 avril 2016 à 23:18
wow je ne savais pas que y avais des traducteur, c cool !
merci
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
23 avril 2016 à 23:24
Ca marche pas du tout le convertisseur apparament ...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/04/2016 à 00:37
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.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
24 avril 2016 à 03:01
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/04/2016 à 08:47
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.
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
24 avril 2016 à 09:06
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.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
24 avril 2016 à 20:45
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
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
24 avril 2016 à 20:48
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#.....
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/04/2016 à 21:00
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.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
24 avril 2016 à 21:23
"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
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
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
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
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".
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
24 avril 2016 à 23:34
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).

0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
24 avril 2016 à 23:42
non, il me faut un trigger tres spécial que les autoclick n ont pas...
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344 > al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
25 avril 2016 à 00:13
autoclik ? je ne vois pas le rapport avec ce que je te propose ....!
Moi je te parle du langage (programme..) AUTOIT .... qui permet de très simplement manipuler les fenêtres Windows et simuler des clics ....
Programme, qui comme je l'indique précédemment, peut être embarqué dans des langages plus complexes comme le .net ... vu qu'on peut inclure la DLL du dit logiciel dans ses programmes !
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
Modifié par al78310 le 25/04/2016 à 00:28
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...
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344 > al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
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 !
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 25/04/2016 à 08:11
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.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
Modifié par al78310 le 25/04/2016 à 08:23
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 25/04/2016 à 08:17
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.
0
al78310 Messages postés 45 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 29 mai 2016
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...
0
Rejoignez-nous