Je suis débutant en AutoIt et j'essaie de créer un script avec une interface graphique me permettant d'installer des imprimantes réseaux sur des postes de mon domaine. J'utilise PSExec pour l'installation à distance.
L'interface:
Voici le script:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$FMimp = GUICreate("Imprimantes", 260, 134, 192, 124)
$ITpos = GUICtrlCreateInput("", 24, 48, 100, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_UPPERCASE))
$LLpos = GUICtrlCreateLabel("Poste", 24, 16, 31, 17)
$LLimp = GUICtrlCreateLabel("Imprimante", 136, 16, 55, 17)
$COimp = GUICtrlCreateCombo("", 136, 48, 100, 25, BitOR($GUI_SS_DEFAULT_COMBO,$CBS_SIMPLE))
GUICtrlSetData(-1, "Bureau Achats|Bureau Compta Facture|Bureau Compta M602", "Bureau Achats")
GUISetState(@SW_SHOW)
$BNval = GUICtrlCreateButton("Installer", 136, 88, 100, 21)
$CXdef = GUICtrlCreateCheckbox("Defaut", 24, 88, 100, 21)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BNval
Run('.\PsExec.exe \\' & GUICtrlRead($ITpos) & ' rundll32 printui,PrintUIEntry /in /n\\serveur\' & GUICtrlRead($COimp))
EndSwitch
WEnd
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$FMimp = GUICreate("Imprimantes", 260, 134, 192, 124)
$ITpos = GUICtrlCreateInput("", 24, 48, 100, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_UPPERCASE))
$LLpos = GUICtrlCreateLabel("Poste", 24, 16, 31, 17)
$LLimp = GUICtrlCreateLabel("Imprimante", 136, 16, 55, 17)
$COimp = GUICtrlCreateCombo("", 136, 48, 100, 25, BitOR($GUI_SS_DEFAULT_COMBO,$CBS_SIMPLE))
GUICtrlSetData(-1, "Bureau Achats|Bureau Compta Facture|Bureau Compta M602", "Bureau Achats")
GUISetState(@SW_SHOW)
$BNval = GUICtrlCreateButton("Installer", 136, 88, 100, 21)
$CXdef = GUICtrlCreateCheckbox("Defaut", 24, 88, 100, 21)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BNval
Run('.\PsExec.exe \\' & GUICtrlRead($ITpos) & ' rundll32 printui,PrintUIEntry /in /n\\serveur\' & GUICtrlRead($COimp))
EndSwitch
WEnd
Certaines imprimantes ont des noms avec espace et du coup le "GUICtrlRead($COimp)" renvoi que la partie avant l'espace.
Exemple pour l'imprimante "Bureau Achats":
Si quelqu'un à une solution, merci d'avance.