Comment simuler le fonctionnement de la souris via JSL ?Par exemple, je souhaite simuler le fonctionnement de la souris via JSL :
1. Simuler le déplacement du curseur : déplacez le curseur vers la position spécifiée : par exemple, x=180;Y = 380 ;
2. Clic gauche : faites un clic gauche et cliquez sur le bouton "Go".
Merci!

Automatisation et scriptsRe : Comment simuler le fonctionnement de la souris via JSL ?Merci Craige ! Comme vous l'avez dit, "empêcher toute autre activité sur le fil principal jusqu'à ce que la scission soit terminée".
J'ai utilisé VBA pour contrôler la collaboration entre le langage Q et JMP.
Il est désormais facile d'utiliser simplement JMP.
Merci!Re : Comment simuler le fonctionnement de la souris via JSL ?Je pense que JMP exécute le bouton GO sur le thread principal, empêchant toute autre activité sur le thread principal jusqu'à ce que la division soit terminée.Pouvez-vous partager un exemple ?
Re : Comment simuler le fonctionnement de la souris via JSL ?Merci Jeff!
Mon objectif est d'attendre la fin de l'opération de l'arbre de décision avant d'exécuter le script suivant.
JMP a-t-il mis en place des fonctionnalités pour cela ?

Re : Comment simuler le fonctionnement de la souris via JSL ?Je ne sais pas comment utiliser le processeur. Autant que je sache, JMP ne dispose d'aucun outil pour cela directement.
Cependant, vous n'avez pas besoin de simuler un clic sur le bouton Go car JSL dispose déjà d'un message Go pour la plateforme de partition.

Re : Comment simuler le fonctionnement de la souris via JSL ?Re : Comment simuler le fonctionnement de la souris via JSL ?Plus précisément, tous les fichiers JMP d'un chemin sont divisés en arbres de décision, et le temps de fonctionnement de chaque arbre de décision de fichier est différent. Disons que le temps est compris entre 30 et 60 minutes.
Par conséquent, JSL doit être conçu pour cliquer sur le bouton « Go » pendant 30 minutes et tester le taux d'utilisation du processeur toutes les 5 minutes.
Si le taux d'utilisation du processeur est inférieur à 5 %, l'opération d0< sinon, la boucle doit continuer pendant 5 minutes, puis tester le taux d'utilisation du processeur jusqu'à ce que la segmentation de l'arbre de décision soit terminée.
d0 = Current Data Table();
dir = "c:\1\";
Fs = Files In Directory( dir );
For( d = 1, d <= N Items( fs ), d++,
dt = Open( dir || fs[d] );
p = dt << Partition(
Y( :Y ),
X( :X1, :X2 ),
Validation Portion( 0.25 ),
Informative Missing( 1 )
);
(Report( p ) << xpath( "//ButtonBox[@title = 'Go']" )) << click;
For( j = 1, j <= 6, j++,
cpu = ……;
If( cpu < 0.05,
d0 << Run Script( "B" ),
Wait( 300 )//Does this wait affect the decision tree?
);
);
);

Re : Comment simuler le fonctionnement de la souris via JSL ?Continuez à poser des questions plus inhabituelles : j'utilise maintenant VBA d'Excel pour réaliser diverses opérations de boucle sur différents fichiers par JMP en surveillant l'utilisation du processeur et en contrôlant les mouvements et les clics de la souris. Mon objectif principal était d'obtenir l'effet Split de l'arbre de décision en cliquant sur le bouton "Go", et non via "Split Best (1000)" de JSL. Je veux maintenant le faire sans VBA et utiliser JSL à la place. Maintenant, je dois implémenter JSL pour obtenir l'utilisation du processeur.Re : Comment simuler le fonctionnement de la souris via JSL ?Merci Craige!
Le JMP original pourrait être implémenté de cette façon. J'ai acquis de nouvelles compétences.Re : Comment simuler le fonctionnement de la souris via JSL ?Vous pouvez cliquer sur le bouton comme ceci :
dt=open("$sample_data/big class.jmp");
p = dt<<PARTITION></PARTITION>Pourquoi veux-tu déplacer le curseur de la souris ? Il y a des éléments à côté des boutons sur lesquels vous voudrez peut-être cliquer, mais il existe probablement de meilleures façons d'automatiser que d'écrire du code pour déplacer la souris. De plus, les gens détestent quand la souris bouge toute seule.
Re : Comment simuler le fonctionnement de la souris via JSL ?VBA
Public Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long<BR />Public Declare PtrSafe Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long<BR />Public Const MouseEventf_LeftDown = &H2
Public Const MouseEventf_LeftUp = &H4
Type POINTAPI
x As Long
y As Long
End Type
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub click()
SetCursorPos 180, 380
For i = 1 To 1
mouse_event MouseEventf_LeftDown, 0, 0, 0, 0
mouse_event MouseEventf_LeftUp, 0, 0, 0, 0
Next
End Sub