Bonsoir,

J'ai un programme "pro" où je suis obligé d'utiliser le fonction sendkeys pour interagir avec et récupérer l'info qui m'intéresse.

Sauf que de temps en temps, l'envoi des commandes via sendkeys ouvre le menu Windows donc le résultat n'est pas celui attendu.

Voici un exemple de code :

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
Dim objShell,oExec
 
Set objShell = wscript.createobject("wscript.shell")
Set oExec = objShell.Exec("calc.exe")
 
Do While oExec.Status = 0
WScript.Sleep 200
Loop
 
WScript.Sleep 100
objShell.sendkeys "%H"
WScript.Sleep 100
objShell.sendkeys "{DOWN}"
WScript.Sleep 100
objShell.sendkeys "{DOWN}"
WScript.Sleep 100
objShell.sendkeys "{ENTER}"
WScript.Sleep 100
En l'exécutant au lancement de Windows, j'arrive à reproduire le problème.

Et malheureusement, je n'arrive pas à trouver la méthode pour mettre une fenêtre au 1er (et active) avant d'envoi les commandes !

D'avance merci