Je viens vous présenter le script terminé.
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
Global $scriptvisible = 1
Global $username = "XXX"
Global $password = "XXX"
global $archive = "C:\Citrix.txt"
global $process="wfica32.exe"
$file=Fileopen($archive, 2) ; 2 = ERASE MODE
_Check()
Switch @error
Case 0
FileWrite($file, "3") ; SUCCESS
ProcessClose($process)
Case 1
FileWrite($file, "0")
Case 2
FileWrite($file, "1")
Case 3
FileWrite($file, "2")
EndSwitch
FileClose($file)
Func _Check()
;=============================
;PREMIERE PARTIE DU PROGRAMME;
;=============================
$wb = _IECreate ("http://ctxmgmt/Citrix/AccessPlatform/auth/login.aspx", 0, $scriptvisible, 1, 1)
If @error Then
_IEAction ($wb, "quit")
Return SetError(1) ; peut pas se connecter à la page de départ
EndIf
$identif = _IEFormGetObjByName ($wb, "CitrixForm")
$login = _IEFormElementGetObjByName ($identif , "user")
$mdp = _IEFormElementGetObjByName ($identif , "password")
Local $oSubmit = _IEGetObjByName($wb, "submitExample")
_IEFormElementSetValue ($login, $username)
_IEFormElementSetValue ($mdp, $password)
$handle = ControlGetHandle("Citrix", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]")
ControlFocus("Citrix", "", $handle)
sleep(500)
ControlSend("Citrix", "", $handle , "{tab}")
sleep(500)
ControlSend("Citrix", "", $handle , "{enter}")
sleep(500)
_IELoadWait ($wb)
;sleep(500)
_IENavigate($wb , "http://ctxmgmt/Citrix/AccessPlatform/site/default.aspx?CTX_CurrentFolder=\Applications%20Bureautiques", 1) ; PAGES DES APPLICATIONS.
sleep(200)
Local $pageApp = _IEBodyReadHTML ($wb)
If not StringInStr($pageApp, "Filemaker 6b s1") Then
_IEAction ($wb, "quit")
Return SetError(2) ; pas trouvé l'image donc page non atteinte
EndIf
_IEimgclick($wb, "Filemaker 6b s1", "alt")
If @error Then
_IEAction ($wb, "quit")
Return SetError(3) ; erreur de clic sur l'image
EndIf
sleep(40000)
;=============================
;SECONDE PARTIE DU PROGRAMME;
;=============================
; CHECK DU PROCESSUS
If not ProcessExists($process) Then
_IEAction ($wb, "quit")
Return SetError(3)
EndIf
sleep(2000)
_IEAction ($wb, "quit") ; ferme IE
EndFunc
Il effectue donc toutes mes attentes et petit plus, il est capable de gérer les erreurs et de retourner différentes valeurs dans le même fichier texte.
je remercie toutes les personnes qui m'ont aidés à finaliser ce travail.
Santé
