Manuel PortaNum

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

Valid HTML 4.01 Transitional

copyright J.Colineau - 21-Mar-2008

societeg