Donner le focus à une application non VB

cs_tiger76 Messages postés 7 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 14 février 2003 - 29 janv. 2003 à 13:43
cs_tiger76 Messages postés 7 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 14 février 2003 - 29 janv. 2003 à 14:13
J'ai un petit problème : on m'a demandé de faire une application VB qui lance un exe (disons calc.exe), qui en lance un 2eme(disons cmd.exe) et qui rend le focus au 1er exe (donc calc).

J'ai essayé plusieurs méthodes, mais aucune ne fonctionne.

Si vous pouvez m'aider...

1 réponse

cs_tiger76 Messages postés 7 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 14 février 2003
29 janv. 2003 à 14:13
J'ai presque résolu le problème grace à appActivate

Cependant, cette fonction me renvoye une run-time error 5 : "Invalid procedure call or argument"

strAppli1 = "C:\WINDOWS\system32\cmd.exe"
strAppli2 = "C:\WINDOWS\system32\calc.exe"

' Lance la 1ère application et récupère le handle
While ret <= 32
ret = ShellExecute(0&, vbNullString, strAppli1, vbNullString, vbNullString, 1)
Wend
While hHandleAppli1 = 0
hHandleAppli1 = FindWindow(vbNullString, strAppli1)
Wend

' Lance la 2ème application et récupère le handle
ret = 0
While ret <= 32
ret = ShellExecute(0&, vbNullString, strAppli2, vbNullString, vbNullString, 1)
Wend
While hHandleAppli2 = 0
hHandleAppli2 = FindWindow(vbNullString, "Calculatrice")
Wend

' Donne le focus à la 1ère application
AppActivate (hHandleAppli1)

Si vous voyez des erreurs...
0
Rejoignez-nous