Question
clic souris ?
- cterra
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 1 mois #18846
par cterra
clic souris ? a été créé par cterra
Afin de finaliser mon script, j'ai besoin de pouvoir coder des clics de souris, cependant je ne trouve rien la dessus ...
j'ai bien trouvé comment déplacer la souris :
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(1800,805);
Mais rien pour le clic gauche ...
Quelqu’un pourrait il m'aider ?
EDIT : bon en fait je viens de trouver , ça à l'air de fonctionner ça me paraissait juste un peu complexe juste pour un clic ...
$MouseEventSig=@'
[DllImport(\"user32.dll\",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@
$MouseEvent = Add-Type -memberDefinition $MouseEventSig -name \"MouseEventWinApi\" -passThru
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(1900,800)
$MouseEvent::mouse_event(0x00000002, 0, 0, 0, 0);
$MouseEvent::mouse_event(0x00000004, 0, 0, 0, 0);
Désolé pour le dérangement, mais si quelqu'un à un code plus simple en une seule ligne ça m'intéresse plutôt que d'appeler user32.dll ...
Je trouve ça un peu sale ... mais ça marche ...
Par contre ça fonctionne assez bien avec paint, il me fait bien un point à l'endroit voulu, mais ça ne fonctionne pas avec mon soft,
la souris doit aller cliquer sur une case d'un tableau puis cliquer sur un bouton \"copier\" (derrière j'ai codé pour intercepter le clipboard) puis il doit retourner une autre case du tableau la cliquer retourner sur le \"copier\"... mais j'ai rien dans mon clipboard en cliquant pourtant au bon endroit avec ce code ...
une idée ?
Message édité par: cterra, à: 27/01/15 09:05
Message édité par: cterra, à: 27/01/15 09:15<br><br>Message édité par: cterra, à: 27/01/15 09:16
j'ai bien trouvé comment déplacer la souris :
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(1800,805);
Mais rien pour le clic gauche ...
Quelqu’un pourrait il m'aider ?
EDIT : bon en fait je viens de trouver , ça à l'air de fonctionner ça me paraissait juste un peu complexe juste pour un clic ...
$MouseEventSig=@'
[DllImport(\"user32.dll\",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@
$MouseEvent = Add-Type -memberDefinition $MouseEventSig -name \"MouseEventWinApi\" -passThru
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(1900,800)
$MouseEvent::mouse_event(0x00000002, 0, 0, 0, 0);
$MouseEvent::mouse_event(0x00000004, 0, 0, 0, 0);
Désolé pour le dérangement, mais si quelqu'un à un code plus simple en une seule ligne ça m'intéresse plutôt que d'appeler user32.dll ...
Je trouve ça un peu sale ... mais ça marche ...
Par contre ça fonctionne assez bien avec paint, il me fait bien un point à l'endroit voulu, mais ça ne fonctionne pas avec mon soft,
la souris doit aller cliquer sur une case d'un tableau puis cliquer sur un bouton \"copier\" (derrière j'ai codé pour intercepter le clipboard) puis il doit retourner une autre case du tableau la cliquer retourner sur le \"copier\"... mais j'ai rien dans mon clipboard en cliquant pourtant au bon endroit avec ce code ...
une idée ?
Message édité par: cterra, à: 27/01/15 09:05
Message édité par: cterra, à: 27/01/15 09:15<br><br>Message édité par: cterra, à: 27/01/15 09:16
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 1 mois #18850
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:clic souris ?
cterra écrit:
Il existe aussi ces projets :
wasp.codeplex.com/ ( à vérifier s'il gère la souris)
uiautomation.codeplex.com/ ( pas eu le temps de tester. Il me semble plus approprié et plus riche fonctionnellement. La dernière release date de Juillet 2014)
Presque, le début de pelote sur un moteur de recherche : 'C# simulate mouse click'.une idée ?
Il existe aussi ces projets :
wasp.codeplex.com/ ( à vérifier s'il gère la souris)
uiautomation.codeplex.com/ ( pas eu le temps de tester. Il me semble plus approprié et plus riche fonctionnellement. La dernière release date de Juillet 2014)
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 1 mois #18851
par Philippe
Réponse de Philippe sur le sujet Re:clic souris ?
salut cterra
souvent les appli fonctionne avec le clavier (tab pour changer de bouton, entrer pour appuyer dessus)
un exemple ici
si ca peut te servir !
souvent les appli fonctionne avec le clavier (tab pour changer de bouton, entrer pour appuyer dessus)
un exemple ici
si ca peut te servir !
Connexion ou Créer un compte pour participer à la conversation.
- cterra
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 1 mois #18855
par cterra
Réponse de cterra sur le sujet Re:clic souris ?
Non j'ai déjà tester le clavier, je ne peux pas joindre les boutons comme ça ...
Je viens de chercher pendant 2h, apparemment j'ai un problème avec les focus pour cliquer sur des applications, et j'ai retrouvé ce problème sur d'autre projet également
ici wasp.codeplex.com/discussions/463918
La raison expliqué par MSDN :
social.msdn.microsoft.com/Forums/windows...layer?forum=winforms
ça fait plusieurs années que j'avais pas codé, je ne suis pas encore au top la, mais si quelqu'un sait comment je pourrait faire ...
j'ai 2 solutions :
- soit je trouve comment passer en paramètre l'application dont j'ai besoin de cliquer comme l'explique le modérateur MSDN ... (d'ailleurs mon application est sous adobe air ...)
- soit je trouve une autre façon de cliquer sans user32.dll un peu plus efficace
(J'ai déjà essayé d'aller dans le gestionnaire de tâche pour clique droit mon application et la mettre en premier plan, ça ne fonctionne pas non plus ...)
Bref je bloque, je viens de coder 500 lignes de code en 2 jours pour ça et traiter mes données, et je suis en train de bloquer sur un simple clic gauche, ça me rend fou ...
Bon sinon je vais essayer de passer le focus en envoyant des alt+tab pour tomber sur mon application en espérant que ça marche, tant que mon ordi pourrait bosser toute une nuit en solo pendant que je dors ça va, mais bon je trouve ça un peu faible comme solution juste pour un clic, et je ne suis même pas sûr que cela va fonctionner ...
Je retenterai demain je pense ... (je suis en thaïlande +6h)
Message édité par: cterra, à: 27/01/15 11:20<br><br>Message édité par: cterra, à: 27/01/15 11:21
Je viens de chercher pendant 2h, apparemment j'ai un problème avec les focus pour cliquer sur des applications, et j'ai retrouvé ce problème sur d'autre projet également
ici wasp.codeplex.com/discussions/463918
La raison expliqué par MSDN :
social.msdn.microsoft.com/Forums/windows...layer?forum=winforms
ça fait plusieurs années que j'avais pas codé, je ne suis pas encore au top la, mais si quelqu'un sait comment je pourrait faire ...
j'ai 2 solutions :
- soit je trouve comment passer en paramètre l'application dont j'ai besoin de cliquer comme l'explique le modérateur MSDN ... (d'ailleurs mon application est sous adobe air ...)
- soit je trouve une autre façon de cliquer sans user32.dll un peu plus efficace
(J'ai déjà essayé d'aller dans le gestionnaire de tâche pour clique droit mon application et la mettre en premier plan, ça ne fonctionne pas non plus ...)
Bref je bloque, je viens de coder 500 lignes de code en 2 jours pour ça et traiter mes données, et je suis en train de bloquer sur un simple clic gauche, ça me rend fou ...
Bon sinon je vais essayer de passer le focus en envoyant des alt+tab pour tomber sur mon application en espérant que ça marche, tant que mon ordi pourrait bosser toute une nuit en solo pendant que je dors ça va, mais bon je trouve ça un peu faible comme solution juste pour un clic, et je ne suis même pas sûr que cela va fonctionner ...
Je retenterai demain je pense ... (je suis en thaïlande +6h)
Message édité par: cterra, à: 27/01/15 11:20<br><br>Message édité par: cterra, à: 27/01/15 11:21
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 1 mois #18858
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:clic souris ?
cterra écrit:
Il faut émettre le message dans la 'bonne' boucle de message.
cterra écrit:
Essaie en manipulant le handle de la fenêtre.- soit je trouve comment passer en paramètre l'application dont j'ai besoin de cliquer comme l'explique le modérateur MSDN ... (d'ailleurs mon application est sous adobe air ...)
Il faut émettre le message dans la 'bonne' boucle de message.
cterra écrit:
Là, j'ai un doute. Tu veux dire sans coder d'API ?- soit je trouve une autre façon de cliquer sans user32.dll un peu plus efficace
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- cterra
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 1 mois #18865
par cterra
Réponse de cterra sur le sujet Re:clic souris ?
On dirait que j'ai un problème d’exécution en fait ...
Lorsque je lance mon code à partir de l'editeur powershell \"powershell_ise.exe\" mon code à bien accès au clipboard mais il ne clique pas ...
mais lorsque je le lance à partir de mon batch :
\"Powershell.exe -executionpolicy remotesigned -File C:\Users\ju\Desktop\movemouse.ps1
pause\"
(en monde administrateur, mais sans l’exécuter en administrateur ça ne marche toujours pas)
La ça clique bien ... alleluia
Mais mon code n'a plus accès au clipboard ...
rahhhhhhhhhhhh
Si quelqu'un à une solution, ça me dépasse un peu la ...
Houuuuuuraaaaaaaaaahhhhhhhhhhh
J'ai trouvé
si je vais dans \"C:\Windows\System32\WindowsPowerShell\v1.0\" et que j'éxécute \"powershell_ise.exe\" en tant qu'administrateur, que je fais \"ouvrir un fichier\" et que je recherche mon script puis f5 pour éxécuter ça marche !!!!!!!!
mais ça m'envoie mon fichier de log dans system32 ( >>histo.txt)
Mais je suis trop content déjà ... même si c'est un peu sale ...
Est ce que vous avez une solution pour que juste je lance mon batch en tant qu'administrateur ?<br><br>Message édité par: cterra, à: 27/01/15 20:34
Lorsque je lance mon code à partir de l'editeur powershell \"powershell_ise.exe\" mon code à bien accès au clipboard mais il ne clique pas ...
mais lorsque je le lance à partir de mon batch :
\"Powershell.exe -executionpolicy remotesigned -File C:\Users\ju\Desktop\movemouse.ps1
pause\"
(en monde administrateur, mais sans l’exécuter en administrateur ça ne marche toujours pas)
La ça clique bien ... alleluia
Mais mon code n'a plus accès au clipboard ...
rahhhhhhhhhhhh
Si quelqu'un à une solution, ça me dépasse un peu la ...
Houuuuuuraaaaaaaaaahhhhhhhhhhh
J'ai trouvé
si je vais dans \"C:\Windows\System32\WindowsPowerShell\v1.0\" et que j'éxécute \"powershell_ise.exe\" en tant qu'administrateur, que je fais \"ouvrir un fichier\" et que je recherche mon script puis f5 pour éxécuter ça marche !!!!!!!!
mais ça m'envoie mon fichier de log dans system32 ( >>histo.txt)
Mais je suis trop content déjà ... même si c'est un peu sale ...
Est ce que vous avez une solution pour que juste je lance mon batch en tant qu'administrateur ?<br><br>Message édité par: cterra, à: 27/01/15 20:34
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.108 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- clic souris ?