Identification controlid

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
kerozen
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 09 févr. 2018 21:07
Status : Hors ligne

Identification controlid

#1

Message par kerozen »

Bonjour a tous,
Je suis presque novice sur Autoit.
Je dois créer un scrip d'assistance sans installation pour des personnes âgées.
Je sais qu'il existe des outils mais il faut dans ce cas faire une installation( chose impossible à distance )
J'envisage d'utilisé les outils windows. Je lance donc msra.exe de windows assistance
Je n'arrive pas a cliquer automatiquement sur le bouton d'invitation.
visiblement le control id n'est pas reconnu, j'ai aussi tenté avec l'id 248 mais cela ne fonctionne pan non plus.

Mon erreur est surement bête mais je sèche depuis un certain temps et n'ai rien trouvé ni sur le forum ni sur le net.
Bien sur je ne peux pas utiliser un déplacement de souris suivi d'un click du fait d'une résolution d'écran incertaine.
D'avance merci de votre aide.



J'ai créer le début de code suivant.
; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.1.0
; Author:         A.N.Other <myemail@nowhere.com>
;
; Script Function:
;  Template AutoIt script.
;
; ----------------------------------------------------------------------------



#include <GuiConstants.au3>
#include <Date.au3>


$install=0
$partage=0
$TRANSPARENCE = 1
$VERIF=10

BlockInput ( 1 )

Send("#r")
WinWaitActive ( "Exécuter")
send ("msra")
send ("{enter}")
WinWaitActive ( "Assistance à distance Windows")

Sleep(100)

$Partage=ControlGetHandle ( "Assistance à distance Windows", "", "$Button4" )
ControlClick("Assistance à distance Windows", "",$Partage)
Fichiers joints
fenêtre bouton a cliquer
fenêtre bouton a cliquer
autoit info
autoit info
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Identification controlid

#2

Message par TommyDDR »

Remplacez "$Button4" par le contenu de la case "Advanced mode" (crochets compris) ;)

Astuce : Double cliquez sur la ligne pour mettre son contenu dans le presse papier, et collez ensuite dans votre script
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
kerozen
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 09 févr. 2018 21:07
Status : Hors ligne

Re: Identification controlid

#3

Message par kerozen »

Bonjour,
Déjà un grand merci de la réponse et je vous pris de m'excuser du retard j'étais en vacances et sans réseau.
Je viens d'essayer la solution proposée, elle reste sans effet.
Je dois faire une erreur quelque part.
Normalement vous devez pouvoir tester ce début de script sous windows 10 puisque msra.exe est un outil de base.
merci d'avance de votre aide
Cordialement
[#include <GuiConstants.au3>
#include <Date.au3>


$install=0
$partage=0
$TRANSPARENCE = 1
$VERIF=10

BlockInput ( 1 )

Send("#r")
WinWaitActive ( "Exécuter")
send ("msra")
send ("{enter}")
WinWaitActive ( "Assistance à distance Windows")

;Sleep(100)

$Partage=ControlGetHandle ( "Assistance à distance Windows", "", "[CLASS:Button; INSTANCE:4]" )
ControlClick("Assistance à distance Windows", "",$Partage)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Identification controlid

#4

Message par walkson »

Bonjours,
#RequireAdmin
ShellExecute("msra.exe")
 Local $hWnd = WinWait("Assistance à distance Windows", "", 10)
 Sleep(2000)
 $rep = ControlClick($hWnd, "", "[CLASS:Button; INSTANCE:4]")
 Sleep(2000)
 WinClose($hWnd,'')
Le mode administrateur est obligatoire pour fonctionner (sous Win 7) #RequireAdmin
Vous confondez l'ID (ex: 258) avec le handle (ex: 0x123456)
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
kerozen
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 09 févr. 2018 21:07
Status : Hors ligne

Re: Identification controlid

#5

Message par kerozen »

Bonjour,
Merci de votre réponse,
C'est vrai que ce script fonctionne mais je ne comprend pas pourquoi il faut le mode administrateur puisque manuellement ce n'est pas nécessaire.
Je ne suis pas certain que mes anciens sachent le faire surtout en mode "stress je n'y arrive pas"
Avec ce paramètre supplémentaire l'ancien fonctionne aussi même si il est moins propre.
N'y a t'il pas un paramètre qui ne demanderait pas le mot de passe admin ?


j'ai au moins appris la façon de lancer une appli" ShellExecute", c'est déjà super.

Cordialement
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Identification controlid

#6

Message par Tlem »

Bonsoir.
Sans vouloir gâcher vos recherches, avez-vous jeté un œil sur les options disponibles pour msra.exe ?

msra_options.JPG

Par ce que la première étape de votre code peut être résolue par : msra.exe /novice
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
kerozen
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 09 févr. 2018 21:07
Status : Hors ligne

Re: Identification controlid

#7

Message par kerozen »

Génial !
Il ne faut pas toujours chercher compliqué.
Je dois dire que je n'y avais pas pensé.
Je vais vraiment regarder les possibilités de msra

Merci beaucoup de cette solution ,même si j'aurai aimé savoir pourquoi il faut les droits admin pour le script et qu'ils ne sont pas nécessaire en manuel

Cordialement
Répondre