Page 1 sur 1
[..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 12:07
par mr1337
Bonjour à vous.
Je viens de télécharger et installer le logiciel AutoIt, que je trouve vraiment sympa, mais j'ai un petit souci avec l'un de mes scripts.
Je souhaite l'utiliser avec le logiciel VLVC (plugin de VLC permettant de faire de la visioconférence à plusieurs)
Voir ici pour plus d'infos : hxxp://nilz.free.fr/wordpress/?p=82
Je vous explique mon problème,
Je souhaite automatiser le remplissage des infos à mettre dans les options du logiciel pour éviter que les utilisateurs aient à le faire.
Une fois mon script fait, je le lance. Le logiciel VLVC se lance bien, mais rien ne se passe par la suite ,

.
Alors je me tourne vers vous pour savoir si j'ai fais une erreur lors de la création de mon script.
Je vous le met à la suite :
Code : Tout sélectionner
Run( "vlc.exe ")
WinWaitActive( "VLC media player ")
Sleep(500)
Send( "!f ")
Sleep(500)
Send( "{DOWN} ")
Send( "{ENTER} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Sleep(500)
Send( "{TAB} ")
Send( "{TAB} ")
Send( "xxx.xxx.xxx.xxx ") <= @ip publique
Send( "{TAB} ")
Send( "{TAB} ")
Send( "Mot2p@sse ") <= mot de passe
Send( "{TAB} ")
Sleep(500)
Send( "User1") <= nom d'utilisateur
Sleep(500)
Send( "{TAB} ")
Send( "{TAB} ")
Sleep(500)
Send( "{ENTER} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Sleep(500)
Send( "1234") <= port de discution
Sleep(500)
Send( "{ENTER} ")
Sleep(500)
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Si vous avez des choses que vous ne comprenez pas sur mon script, demandez le moi.
D'avance merci à vous.
-Mr1337
Re: [..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 14:36
par Tlem
A première vue, d'après le lien que vous donnez, sur le bas de la deuxième capture d'écran, il semble qu'il soit possible de scripter VLVC / VLC.
Plutôt que de jouer avec des
Send et des
Sleep, regardez si vous ne pouvez pas passer directement par la ligne de commande.

Re: [..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 15:18
par mr1337
Rebonjour,
Merci pour votre réponse. J'ai bien pensé à mettre la ligne de commande, mais le seul souci, c'est que celle ci comporte des guillemets. AutoIt les voit comme des commandes à interpréter, c'est à cause de ca que j'ai un message d'erreur.
ex d'une ligne de commande : vlvc:// :no-vlvc-server-mode :vlvc-ip=" xxx.xxx.xxx.xxx" :vlvc-conference-mode=0 :vlvc-password="Mot2p@sse" :vlvc-username="user1" :vlvc-description=" " :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl=" " :vlvc-vdev=" " :vlvc-adev=" " :vlvc-port=4242 :vlvc-first-client-port=1240 :no-vlvc-multicast-mode :vlvc-fix-overlay :vlvc-standalone-mode
Sinon serait-il possible de rendre invisible l'action du logiciel à l'ecran, plutot que de le voir compléter les champs un à un ?
D'avance merci.
Re: [..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 15:27
par Yogui
Code : Tout sélectionner
MsgBox(0,'petit "exemple"','petit exemple avec des "guillemets" il faut savoir jongler avec les simples '&"'"&'et les "')
Petit exemple d'utilisation de guillemets en gros si on veux avoir de double cottes il faut commencer par une simple et visé versa
Yogui
Re: [..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 17:21
par mr1337
Re a vous.
Je n'ai pas tout compris pour ton exemple, je ne vois pas comment placer les guillemets dans mon exemple
vlvc:// :no-vlvc-server-mode :vlvc-ip=" xxx.xxx.xxx.xxx" :vlvc-conference-mode=0 :vlvc-password="Mot2p@sse" :vlvc-username="user1" :vlvc-description=" " :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl=" " :vlvc-vdev=" " :vlvc-adev=" " :vlvc-port=4242 :vlvc-first-client-port=1240 :no-vlvc-multicast-mode :vlvc-fix-overlay :vlvc-standalone-mode
Je suis coincé, j'ai essayé de mon coté, mais sans succés,
D'avance merci.
Re: [..] Probleme de script avec VLVC
Posté : lun. 11 janv. 2010 18:34
par Tlem
@mr1337
Merci de rajouter les balises de code dans vos messages précédents (je l'ai déjà fait pour le premier ...)
Pour votre ligne de commande avec les guillemets :
► Afficher le texte
Code : Tout sélectionner
'vlvc:// :no-vlvc-server-mode :vlvc-ip=" xxx.xxx.xxx.xxx" :vlvc-conference-mode=0 :vlvc-password="Mot2p@sse" :vlvc-username="user1" :vlvc-description=" " :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl=" " :vlvc-vdev=" " :vlvc-adev=" " :vlvc-port=4242 :vlvc-first-client-port=1240 :no-vlvc-multicast-mode :vlvc-fix-overlay :vlvc-standalone-mode'
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 10:18
par mr1337
Bonjour,
Désolé pour les bouts de codes mis en brute.
Pour les guillemets, j'ai compris, mais j'ai d'autres problèmes.
Je met mon code et je vous explique.
Code : Tout sélectionner
Run( "vlc.exe ")
Sleep(500)
Send( "!f ")
Sleep(500)
Send( "{DOWN} ")
Send( "{ENTER} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Send( "{RIGHT} ")
Sleep(500)
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Send( "{TAB} ")
Sleep(500)
Send ( 'vlvc:// :no-vlvc-server-mode :vlvc-ip=" xxx.xxx.xxx.xxx" :vlvc-conference-mode=0 :vlvc-password="Mot2p@sse" :vlvc-username="user1" :vlvc-description=" " :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl=" " :vlvc-vdev=" " :vlvc-adev=" " :vlvc-port=4242 :vlvc-first-client-port=1240 :no-vlvc-multicast-mode :vlvc-fix-overlay :vlvc-standalone-mode' )
Sleep(500)
Send( "{ENTER} ")
Normalement tout devrai passer, mais non, ^^ .
Sur la fenêtre des paramètres, il y à des cases vides à cocher (1). Je souhaite qu'elles restes vides, mais à cause de la commande Send( "{TAB} ") celles ci se cochent. Je peux faire une boucle en recopiant le code pour qu'il repasse dessus et les décoche et le tour et joué. Mon vrai problème est qu'il y à un "boutton" options avancées... (2) et au passage de la commande Send( "{TAB} "), celle ci l'ouvre et exécute la suite du script, ce qui ne donne pas l'effet escompté. J'aurais voulu savoir si il y avait un moyen de passer à la ligne de commande (3) sans ouvrir les options avancées? (ce que doit normalement faire mon script).
D'avance merci à vous.
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 10:39
par mr1337
Re à vous,
Je ne sais pas si ca peu aider, ou même se réaliser, mais si je vous parle d' "ID", de "Class" et "d'Instance", on peut faire pointer le script dessus ? Voir en bleu dans les infos relevées avec AutoIt v3 Windows Info.
► Afficher le texte
>>>> Window <<<<
Title: Ouvrir…
Class: #32770
Position: 341, 314
Size: 589, 445
Style: 0x96CF0084
ExStyle: 0x00010101
Handle: 0x00300402
>>>> Control <<<<
Class: Edit
Instance: 2
ClassnameNN: Edit2
Advanced (Class): [CLASS:Edit; INSTANCE:2]
ID: 1001
Text:
Position: 104, 328
Size: 437, 15
ControlClick Coords: 417, 2
Style: 0x50000380
ExStyle: 0x00000000
Handle: 0x002704B2
>>>> Mouse <<<<
Position: 866, 674
Cursor ID: 5
Color: 0xB2B4BF
>>>> StatusBar <<<<
>>>> Visible Text <<<<
panel
Options avancées
Diffuser/Sauvegarder
Paramètres…
Mise en cache
300
Personnaliser :
vlvc:// :no-vlvc-server-mode :vlvc-ip="" :vlvc-conference-mode=0 :vlvc-password="" :vlvc-username="" :vlvc-description=""
vlvc:// :no-vlvc-server-mode :vlvc-ip="" :vlvc-conference-mode=0 :vlvc-password="" :vlvc-username="" :vlvc-description=""
&Ok
&Annuler
panel
panel
Mode serveur
panel
Adresse IP/Nom de domaine
panel
Mode de conférence
Chat Room
panel
Mot de passe
panel
Nom d’utilisateur
panel
Description
Options avancées…
panel
>>>> Hidden Text <<<<
panel
Ouvrir :
Parcourir…
Utiliser un fichier de sous-titres
Options avancées…
Fichier :
Parcourir…
panel
Type de disque
DVD (menus)
DVD
VCD
CD audio
Nom du périphérique
D:
Titre
0
Chapitre
0
Piste de sous-titres
-1
Piste audio
-1
panel
UDP/RTP
panel
Port
1234
Forcer l’utilisation d’IPv6
Multidiff. UDP/RTP
panel
Adresse
Port
1234
HTTP/HTTPS/FTP/MMS
panel
URL
RTP
panel
URL
rtsp://
Permettre le décalage temporel ?
panel
Nom du périphérique vidéo
Prédéfini
Rafraîchir la liste
Configurer
panel
Nom du périphérique audio
Prédéfini
Rafraîchir la liste
Configurer
panel
Taille de la vidéo
Options avancées…
Encore merci d'avance.
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 12:09
par Iste
C'est pas qu'on peut, c'est qu'
on doit !
C'est bien d'avoir trouvé ca vous meme, au moins vous cherchez
Alors, en effet, avec AU3Info.exe on peut obtenir des info sur les control d'autre fenetre que celle qu'on creé
Une foi l'information récupérer, on peut utiliser les fonctions ControlClick() / ControlSend()
J'ai pas trop regardé vos log pour les num de control, mais si j'ai bien compris, vous chercher a remplir une zone de texte puis faire "ok", dans ce cas,
Code : Tout sélectionner
ControlSend("Ouvrir…","",4,$var) ;va ecrir le contenu de $var dans le control 4
ControlClick(("Ouvrir…","",5,"left") ;fait un clic gauche sur le control 5
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 14:18
par mr1337
Re,
Merci de votre réponse. Je ne comprends pas très bien la notion de variable.
Je ne vois pas comment la mettre en place dans mon script. Je pense que vous avez bien cerné mon problème.
Le plus simple pour moi est de mettre ce bout de code dans le champ à remplir et le tour est joué, rien de plus.
Code : Tout sélectionner
vlvc:// :no-vlvc-server-mode :vlvc-ip="xxx.xxx.xxx.xxx" :vlvc-conference-mode=0 :vlvc-password="mdp" :vlvc-username="ant" :vlvc-description="" :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :no-vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl="dshow://" :vlvc-vdev="" :vlvc-adev="" :vlvc-port=4242 :vlvc-first-client-port=1240 :vlvc-multicast-mode :vlvc-fix-overlay :no-vlvc-standalone-mode
Mais je ne vois pas trop comment, j'aurais pensé qu'avec mon script posté quelques posts plus haut cela aurait marché, mais ca "bug" avec le bouton des options avancées.
- Y aurait-il un moyen de sauter les Send( "{TAB} ") et d'accéder directement au champ en question (grace à la class et l'ID) ?
- Comment devrais-je placer ma variable dans mon script et comment créer ma variable ?
- Prend-t-elle tous les caractères (":,/=.) ?
Je précise que je n'ai très peu de connaissance en dev, mais j'aime bien toucher à tout.
D'avance merci.
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 15:53
par mr1337
Re à vous une fois de plus.
J'ai résolu mon problème grâce à la cmd "Send("+{TAB}")", qui rempli la fonction de Shift+Tab. Je suis content, mais cela n'a toujours pas répondu à mon bug du début.
Je vous poste mon script, qui sait, cela pourrait servir à quelqu'un,

.
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: Mr1337
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
Run("vlc.exe ")
Sleep(500)
Send("!f ")
Sleep(500)
Send("{DOWN}")
Send("{ENTER}")
Send("{RIGHT 4}")
Sleep(500)
Send("+{TAB 3}")
Sleep(500)
Send('vlvc:// :no-vlvc-server-mode :vlvc-ip="XXX.XXX.XXX.XXX" :vlvc-conference-mode=0 :vlvc-password="Mot2p@ss" :vlvc-username="Mr1337" :vlvc-description="" :vlvc-video-capture-size=0 :vlvc-video-scale=2 :vlvc-video-codec=5 :vlvc-video-bitrate=9 :vlvc-audio-codec=0 :vlvc-audio-bitrate=5 :no-vlvc-force-codecs :vlvc-network-protocol=0 :vlvc-buffer-level=1 :vlvc-input-mrl="dshow://" :vlvc-vdev="" :vlvc-adev="" :vlvc-port=4242 :vlvc-first-client-port=1234 :vlvc-multicast-mode :vlvc-fix-overlay :no-vlvc-standalone-mode')
Sleep(500)
Send("{ENTER}")
Donc j'aimerais savoir comment accéder directement au champ à remplir, (3 sur l'image plus haut) soit en passant par des "Send("{TAB}")" ou autres cmds. Soit par la class et l'ID (si cela est possible). Je suis chiant avec ca, mais au moi je ne resterais pas bloqué la prochaine fois. ^^
Merci à tous pour vos réponses.
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 16:40
par Tlem
Hé bien moi, j'essaierais en ligne de commande.
http://wiki.videolan.org/VLC_command-line_help
Re: [..] Probleme de script avec VLVC
Posté : mar. 12 janv. 2010 19:37
par Iste
C'est vrai que ca serait mieux, mais pour aller au bout de ma réponse :
-Lancez AU3Info.exe (vous savez faire)
-Rechercher le nom de la fenetre, et l'ID de la zone de saisie (prenez aussi l'ID du bouton "OK")
-Faite un ControlSend("Nom de la fenetre","", ID,"Du texte")
-Si ca remplit bien la zone avec "Du texte", alors remplacez ce "Du texte" du script par votre ligne de commande !
-Ensuite pour valider, ControlClick(("Nom de la fenetre","",IID du bouton OK,"left")
vala !