;ce script AutoIt v3 permet de gérer l'activation/désactivation de la connexion réseau du client Notes 7.02. ;cma 20080509 ;Ce fichier est à utiliser avec un paramètre ;- toggle : bascule l'état ;- enable : active ;- disable: désactive if( $CmdLine[0] <> 1 )then exit dim $NotesAppTitle = "- IBM Lotus Notes" ;la fenêtre du client Lotus - match = substr (2) dim $UserPrefDlgTitle = "User Preferences" ;le dlg des préférence - match = exact (3) dim $ValidationDlgTitle = "IBM Lotus Notes" ;le dlg de validation - match = exact (3) dim $UserPrefDlgID = "[CLASS:IRIS.tabs; ID:2940]" ;id du navigateur dans le dlg de préférence dim $PortCheckBoxID = "[CLASS:Button; TEXT:Port &enabled; ID:453]" ;id de la checkbox 'Port enabled' dim $kindOfToggle = 0 ;le paramètre en entrée dim $isChecked = 0 ;est-ce que le port est activé dim $cmdCheck = "" ;commande à réaliser sur le checkbox 'Port enabled' ;traitement du paramètre Switch StringLower( $CmdLine[1] ) Case "enable" $kindOfToggle = 0 Case "disable" $kindOfToggle = 1 Case "toggle" $kindOfToggle = 2 Case Else exit(1) ;mauvais paramètre EndSwitch ;comportement de WinWait par défaut Opt("WinTitleMatchMode", 2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase Opt("WinWaitDelay", 1000) ;250 milliseconds ;cherche Notes if( WinActivate( $NotesAppTitle ) == 0 )then exit(2) ;ouvre le dialogue preference , "&User Preferences..." send( "{ALT DOWN}") send("f") ;menu File send("f") ;menu Preferences send("u") ;menu User Preferences... send( "{ALT UP}") if( WinWaitActive( $UserPrefDlgTitle ) == 0 )then exit(3) ;attente du dialogue des préférence utilisateur if( ControlFocus ( $UserPrefDlgTitle , "" , $UserPrefDlgID ) == 0 ) then exit(4) ; séléction du navigateur Send("{UP 2}") ;Send("{DOWN 9}") ;navigue jusqu'à la section 'Ports' if( ControlFocus ( $UserPrefDlgTitle , "" , $PortCheckBoxID ) == 0 ) then exit(5) ; séléction de la checkbox 'Port enabled' sleep(500) $isChecked = ControlCommand ( $UserPrefDlgTitle , "", $PortCheckBoxID , "IsChecked" , "" ) ;dans quel état est la checkbox sleep(500) ;détermine ce qu'il faut faire avec la checkbox Select case $isChecked == 1 AND $kindOfToggle == 1 $cmdCheck = "UnCheck" case $isChecked == 0 AND $kindOfToggle == 0 $cmdCheck = "Check" case $isChecked == 1 AND $kindOfToggle == 2 ;toggle $cmdCheck = "UnCheck" case $isChecked == 0 AND $kindOfToggle == 2 ;toggle $cmdCheck = "Check" EndSelect if( $cmdCheck == "" )then send("{ESC}") ;on sort du dlg sans rien faire Exit(0) EndIf ControlCommand ( $UserPrefDlgTitle , "", $PortCheckBoxID , $cmdCheck , "" ) ;on modifie la checkbox sleep(500) send("{ENTER}") ; validation du changement Opt("WinTitleMatchMode", 3) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase if( WinWaitActive( $ValidationDlgTitle ) == 0 )then exit(6) ; on attend le dialogue de "Some parameters..." send("{ENTER}") exit(0)