R2Win - version 1.5.1 - J. Colineau
mis à jour le 21-Mar-2008
index
Introduction
Notes d'utilisation:
commandes :
ensemble des commandes
commandes système
commandes application
commandes MCI
usage commandes application
détails commande sendkeys
exemples de commandes MCI
Introduction
Ce serveur TCP/IP permet d'éxécuter des applications Windows
à la demande d'un client TCP/IP local ou distant.
Il permet également d'envoyer à une application Windows
des messages, ou des commandes émulant des touches clavier
Il permet enfin d'envoyer au système des commandes MCI (Media Control Interface)
- inspiré de RebToWin de J.F. Theis (alias Clement)
- utilise CKeystrokeEngine de Mustafa Demirhan
(adaptation C++Builder J. Colineau)
Notes d'utilisation:
Paramètres sur la ligne de commande :
-c permet d'établir la connexion au démarrage
-i permet de mettre en icône au démarrage
-s autorise l'accès au serveur de clients distants
commandes :
ensemble des commandes
{"echo" , "echo présence du serveur"},
{"name" , "nom du serveur"},
{"version" , "version du serveur"},
{"who" , "identification et DNS du serveur"},
{"usage" , "commandes du serveur"},
{"help" , "aide"},
{"quit" , "fermeture du serveur"},
{"usermsg" , "transmission d'un message à l'utilisateur"},
{"sound" , "avertissement sonore"},
{"beep" , "émission d'un bip système"},
{"notepad" , "lancement de l'appli notepad.exe"},
{"calc" , "lancement de l'appli calc.exe"},
{"sndvol32" , "lancement de l'appli sndvol32.exe"},
{"clipbrd" , "lancement de l'appli clipbrd.exe"},
{"charmap" , "lancement de l'appli charmap.exe"},
{"playsound" , "joue en asynchrone le fichier son passé en paramètre"},
{"mci" , "envoi d'une commande mci"},
{"message" , "envoie un message de type windows à la fenêtre nommée en paramètre"},
{"sendkeys" , "envoie une séquence virtuelle de touches à la fenêtre nommée en paramètre"},
{"launch" , "lance l'application passée en paramètre"},
{"close" , "ferme l'application dont le titre de fenêtre est passé en paramètre"},
commandes système
echo test de présence > R2WinServer adresse:port
name identification > R2WinServer
version version du serveur > v1.5.0
who identification et DNS du serveur > indentif
usage liste des commandes reconnues > echo; name; version; who; usage; help; quit; usermsg ...
help liste et brève explication sur chaque commande >
quit fermeture serveur > R2WinServer fermé
usermsg envoi d'un message à l'utilisateur > message utilisateur
sound émission d'un bip message > message sonore
beep émission d'un bip système > beep
notepad lancement de l'appli notepad.exe > notepad ok
calc lancement de l'appli calc.exe > calculatrice ok
sndvol32 lancement de l'appli sndvol32.exe > controle son ok
clipbrd lancement de l'appli clipbrd.exe > clipboard ok
charmap lancement de l'appli charmap.exe > charmap ok
commandes application
message ... envoie un message de type windows à la fenêtre nommée en paramètre > message ok
sendkeys ... envoie une séquence virtuelle de touches à la fenêtre nommée en paramètre > sendkeys ok
close ... ferme l'application dont le titre de fenêtre est passé en paramètres > close ok
playsound ... joue en asynchrone le fichier son passé en paramètre > son ok
launch ... lance l'application passée en paramètres > launch ok
commandes MCI
mci ... envoie le string MCI au système
usage commandes application
commande param1 param2 param3
param1: titre exact fenêtre
param2 (facultatif) classname fenêtre
param3 (facultatif) message, ou séquence keys
exemples:
echo
message "Calculatrice" "16"
équivalent à message "Calculatrice" "" "16"
nb: 16 <-> WM_CLOSE = 0x0010
key "essai.txt" "<F5>"
launch calc
close Calculatrice
détails commande sendkeys
(tiré de la doc CKeystrokeEngine de Mustafa Demirhan)
Une expression simple dans le format CKeystrokeEngine ressemble à ceci:
Hello World!<ENTER><REPEAT 10>I love open source<ENTER><END_REPEAT>
Toutes les touches spéciales sont entourées des signes '<' et '>'.
Par exemple, pour simuler une touche Enter, vous utiliserez .
Ou bien, pour presser la touche Shift, utilisez . Voici d'autres exemples:
Pour envoyer Ctrl+A, utilisez <CTRL>A.
Pour envoyer Alt+F4, utilisez <ALT><F4>.
Pour envoyer Ctrl+Alt+Shift+A, utilisez <CTRL+ALT+SHIFT>A.
Vous pouvez aussi utiliser <CTRL+ALT>, <CTRL+SHIFT>, et <ALT+SHIFT>.
Pour maintenir la touche Shift key ainsi que beaucoup d'autres touches,
utilisez <SHIFT_LOCK>ecrivez vos touches ici<SHIFT_UNLOCK>.
Vous pouvez aussi utiliser <ALT_LOCK>, <ALT_UNLOCK>, <CTRL_LOCK>, et <CTRL_UNLOCK>.
Pour ajouter un délai, utilisez <DELAY xxx> où xxx est le temps d'attente en milisecondes.
Par exemple, <DELAY 1500> introduit un délai de 1.5 secondes.
Pour répéter une séquence de touches 100 fois, utilisez <REPEAT 100>vos touches ici<END_REPEAT>.
NB: les répétitions imbriquées ne sont pas supportées.
exemples de commandes MCI
Pour une liste exhaustive des commandes MCI, voir specs Multimedia Programming Interface
selon le matériel et la version de Windows, certaines commandes peuvent ne pas être exécutées
Voici quelques exemples:
mci play cdaudio : lance la lecture du CD dans le lecteur courant
mci stop cdaudio : soppe la lecture
mci play butterfly.mpg : visualise un film mpg
mci play butterfly.mpg fullscreen : visualise un film mpg en plein écran
mci play hilander.mp3 : joue un fichier audio
autres commandes à tester (sans garantie ...):
jouer une vidéo dans une fenêtre d'appli: ...
"mci open essai.avi Type avivideo alias video1 parent <hwnd> style &H40000000"
enregistrer avec l'enregistreur standard, puis rejouer:
mci open new type waveaudio alias capture
mci status capture mode
mci set capture bitspersample 16
mci record capture
(attendre 5 secondes)
mci save capture essai.wav
mci close capture
(attendre 1 seconde)
mci play essai.wav
|
copyright J.Colineau - 21-Mar-2008
 |
|