Il ne reste plus grand chose à faire (sans doute pas le plus compliqué, lancer les connexions avec les paramètres fournis). Perso je n'ai pas l'environnement qu'il faut pour lancer je ne sais combien de VNC (même un seul, je ne sais pas exactement quelle version de Real tu utilises coté serveur -la 5.1.x client est pas toujours compatible avec d'autres serveurs comme UVNC sous XP-, et je ne veux pas en installer un pour tester en risquant de casser mon archi actuelle ^^), mais je pense que le plus dur dans l'interface est fait.
A bientôt !
► Afficher le texteFichiers à mettre dans le même répertoire
VNC.au3
- (6.53 Kio) Téléchargé 72 fois
PS: J'ai préféré remplacer tes valeurs en pixels pour X et Y par des positions dans une grille qui commence en (1,1). C'est plus simple à utiliser, plutot que de refaire les calculs à chaque nouvel ajout, le script en déduit les valeurs en pixels lui même. Et je pense, pour tes propres ressources, qu'il vaut mieux désactiver les VNCs avant et les réactiver après, lors d'un déplacement de ta GUI principale; le titre de la fenêtre permet de faire cela. Si tu ne le souhaites pas, j'essayerai de trouver une alternative propre.
PS2: Si tu peux, envoye moi ta fonction qui génère les appels à VNC, que je puisse tester ici avec une ou deux VM XP peut-être ^^ Et utilise plutot cette version de la fonction WM_SHELLHOOK, qui évitera un lag entre chaque changement de fenêtres VNC :
Code : Tout sélectionner
; Fonction hook pour la gestion des focus
Func WM_SHELLHOOK($hWnd, $iMsg, $wParam, $lParam)
Switch $hWnd
Case $GUI
Switch $wParam
Case $HSHELL_WINDOWACTIVATED, $HSHELL_RUDEAPPACTIVATED
Local $focus = focus()
If Not IsDeclared("_focus") Then Global $_focus = Not $focus
If $_focus <> 0 And $focus = 0 Then ; Perte de focus
For $i = 1 To $DATA[0][0]
WinSetState($DATA[$i][1], "", @SW_HIDE)
Next
ElseIf $_focus = 0 And $focus <> 0 Then ; Récupération de focus
For $i = 1 To $DATA[0][0]
WinSetState($DATA[$i][1], "", @SW_SHOW)
Next
EndIf
$_focus = $focus
EndSwitch
EndSwitch
EndFunc ;==>WM_SHELLHOOK