Aiguillage sur la route à prendre pour simuler la souris

  • Créateur du sujet Créateur du sujet Joan
  • Date de début Date de début
tatouille a dit:
heu c'étaitdans ton sens c'était juste pour noter ironiquement le belle effort d'apple :D en trois ans

Euh, excuse-moi, je ne sais pas ce qu'Apple a apporté à Carbon dans ce domaine, mais j'ai comme-qui-dirait la conviction que la priorité porte sur Cocoa chez Peupeul.
 
Céroce a dit:
Euh, excuse-moi, je ne sais pas ce qu'Apple a apporté à Carbon dans ce domaine, mais j'ai comme-qui-dirait la conviction que la priorité porte sur Cocoa chez Peupeul.

Apple a apporté à Carbon dans ce domaine

rien ou penuts ils comptaient certainement sur metrowerks ou des bonnes âmes :D

la priorité porte sur Cocoa chez Peupeul

oui c'est normal c'est L'API pour les Applications GUI et webObject
le reste c'est pour les trippés :D

 
Céroce a dit:
j'ai comme-qui-dirait la conviction que la priorité porte sur Cocoa chez Peupeul.
Il me semble bien effectivement que Cocoa est plus d'actualité que Carbon, qui a plutôt tendance maintenant à tomber en désuétude. Enfin c'est ce qui ressortais d'une doc d'Apple qui donnait des conseils sur la manière de mener des développements. Mais ça ne signifie pas que Carbon disparaîtra, ni même que que Cocoa n'aura pas de remplaçant dans un avenir plus ou moins proche...
 
PA5CAL a dit:
Il me semble bien effectivement que Cocoa est plus d'actualité que Carbon, qui a plutôt tendance maintenant à tomber en désuétude. Enfin c'est ce qui ressortais d'une doc d'Apple qui donnait des conseils sur la manière de mener des développements. Mais ça ne signifie pas que Carbon disparaîtra, ni même que que Cocoa n'aura pas de remplaçant dans un avenir plus ou moins proche...
disons que carbon pour des applications GUI il va falloir arreter
et bon nombre de methods systems de Carbon descendent dans le Foundation
(Foundation, CoreFoundation , Foundation kit)

ce qui est plus cohérent
:zen:
"Carbon application that installed a CFNotification observer"

AppleEvent / CFNotification
 
Me revoila. Vous allez penser que je suis vraiment une bille. Pa5cal tu l'as testé ton prog ? il fonctionne ? je dois vraiment mal m'y prendre. J'ai compilé avec Xcode mais après j'ai un epu de mal à le faire fonctionner...
 
Je l'ai testé, et ça fonctionne. J'arrive à déplacer le curseur de la souris, fermer des fenêtres, sélectionner des mots, etc.

Par exemple, quand j'exécute "./click 20 10", j'ouvre le menu "Pomme".

En revanche, je n'ai pas fait l'essai sur une fenêtre Flash.
 
Pour faire l'essai dans XCode sans la ligne de commande, tu pourrais mettre en commentaire le début de la fonction main() jusqu'à "HIDService *hs;" (exclus), et remplacer cette partie par :
Bloc de code:
    SInt32 x=0;
    SInt32 y=0;
    int right = 0;
    int dbl = 0;

En exécutant le programme, le curseur de la souris doit se caler en haut à gauche de l'écran, et le menu "Pomme" doit s'ouvrir. Si ce n'est pas le cas, exécute à nouveau ce programme en pas-à-pas, pour voir si un appel système ne retourne pas une erreur.
 
Super Merci enormement à vous deux. Ca marche super... :up:

Moi qui pour l'instant ne connais que actionscript et javascript, cela m'a donné envi de me lancer dans le C++. Vraiment merci beaucoup cette experience me fait enfin "sauter le pas" moi qui étais un peu rétissant à la base, je ne le suis plus du tout du tout :)

Je fais un teste pour flash et je vous tiens au courant...
 
Pour la suite des infos voila du neuf :

Ca fonctionne pour le flash voici d'ailleurs mon script :

Bloc de code:
on idle
       tell application "Terminal" to do shell script "/click/build/click 20 10"
       delay 3
       tell application "Terminal" to do shell script "/click/build/click 50 10"
       return 4
end idle

Clique sur le menu "Pomme" puis 3 secondes après sur "Finder" et recommance tout cela 4 secondes plus tard.

Par contre dans une fenêtre safari il faut que je lui donne 2 fois la commande : une première fois pour activer la fenêtre de safari et une deuxième pour que le clic soit effectif dans la fenêtre de safari (2 clics donc).

Y a t'il un moyen pour executer une commande du terminal avec la fenetre du terminal en tache de fond (en arriere plan donc) évitant un va et vient entre la fenêtre du terminal et celle de safari qui m'oblige à lui demander de faire 2 fois la commande du style :

Bloc de code:
on idle
       tell application "Terminal" to do shell script "/click/build/click 150 120"
       delay 1
       tell application "Terminal" to do shell script "/click/build/click 150 120"
       delay 1
       tell application "Terminal" to do shell script "/click/build/click 140 110"
       delay 1
       tell application "Terminal" to do shell script "/click/build/click 140 110"
       return 4
end idle

pour en fait n'avoir que deux clics dans la fenêtre de safari : un en 150,120 et l'autre en 140,110...
 
Je ne suis pas un pro de l'AppleScript, mais je pense qu'on peut lancer le programme click directement sans que Terminal ne soit exécuté. Reste à connaître la syntaxe pour passer les deux paramètres de click dans AppleScript.
 
PA5CAL a dit:
Je ne suis pas un pro de l'AppleScript, mais je pense qu'on peut lancer le programme click directement sans que Terminal ne soit exécuté. Reste à connaître la syntaxe pour passer les deux paramètres de click dans AppleScript.

on idle
do shell script "/click/build/click 150 120"
do shell script "/click/build/click 150 120"
...
end idle
évite les delay en applescript et gere les task dans ton binaire
genre envoie un tableau de processus en argument

:zen:
 
Ca fonctionne toujours mal. En fait j'ai l'impression qu'il lui faut deux clics à chaque fois que je veux qu'il fasse un clic à un endroit comme si il lui fallait un clic pour activer la fenêtre de safari et un deuxième pour aller cliquer à l'endroit que je lui demande. Pourtant certaine fois il clique bien dès la première fois au bon endroit ce qu'il fait qu'il clique deux fois en fait ce qui ne me convient pas...

Je vais tester en lui disant à la limite pour le premier clic de cliquer à un endroit de la fenêtre où il n'y pas de bouton ou d'animation flash, un endroit qui n'implique pas une action au clic comme ça s'il clic bon dès le premier coup pas de souci... c'est peutetre la solution je vous tient au courant...

Merci beaucoup en tout cas pour votre aide :zen:

Rectif après teste 10 minutes après : et bein non ca fonctionne pas, il lui faut on dirait deux clics dans l'animation... le seul problème c'est que de temps en temps ca fonctionne avec un seul clic et donc les deux clics sont fonctionnel à un même endroit ce qui me plante ma démarche.

Troisième édition du post : il serait peutetre possible de lui dire qu'il execute plusieurs commande à la suite sans relancer le "do shel script" :

du style (ca reste dans la logique et non une ligne de code que je pense valide) :

do shell script "commande 1 & commande 2 & commande 3..."

ou

do shell script "commande 1" & "commande 2" & "commande 3"...