Bonjour,

J'ai écrit un script vbs pour me permettre d'envoyer des phrases prédéfinies dans la zone de chat d'un jeu (Shot online pour être précis).

J'ai donc pensé y arriver avec la fonction sendkeys.
Voici un extrait du code de mon vbs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim FSO
Dim WshShell
...
Dim Ligne
 
' Initialisations
Set FSO = CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject("WScript.Shell")
 
...
 
' Envoi du texte dans la fenêtre concernée 
WshShell.AppActivate "Shot Online"
WScript.Sleep 100
WshShell.SendKeys Ligne
 
' Libérations et fermetures diverses
Set WshShell = Nothing
Set FSO = Nothing
A la ligne 13, j'active bien la fenêtre de mon jeu puisqu'elle passe au 1er plan.
En revanche la ligne 15 n'inscrit rien dans la zone de chat (qui est active puisque le curseur est dans cette zone).
J'ai bien sur testé avec d'autres applications en modifiant la ligne 13 et ça marche.

La particularité tiens donc à la cible (la fenêtre du jeu shot online) dans laquelle les copier/coller windows ne fonctionnent d'ailleurs pas.

Comme sendkeys n'opère pas, je suppose que pour que mon script marche, il faudrait "déposer" le message dans le buffer du clavier. Quelqu'un a-t-il un petit utilitaire qui pourrait être appelé par mon vbs, qui recevrait le texte (100 caractères maxi) en paramètre et le copierait dans le buffer clavier ?

A moins que vous ayez d'autres idées ...

Cordialement
Marcandy