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
A la ligne 13, j'active bien la fenêtre de mon jeu puisqu'elle passe au 1er plan.Code:
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
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