Nouveau sur AutoIT voici mon premier "vrai" problème, je cherche à automatiser le scan antivirus d'un périphérique USB lors de son insertion sur une machine isolée de mon réseau local afin de vérifier qu'elle soit saine avant de la connecter sur mon LAN (réseau local). J'ai réussi grâce aux nombreux exemples à mettre en place cette fonction (avec deux anti virus) cependant je n'arrive pas à modifier le trayIcon par defaut, j'imagine que c'est ultra simple pour vous cependant je ne saisi pas exactement ou placer ce morceau de code dans mon code créé. Rien ne vaut un peu de code pour exprimer mes dires.
Voici mon "programme" qui fonctionne (automatise le scan USB dès insertion sur la machine et enchaine les deux anti-virus présent sur la machine).
Code : Tout sélectionner
;Initialisation des variables
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colEvents = $objWMIService.ExecNotificationQuery _
("Select * From __InstanceOperationEvent Within 5 Where " _
& "TargetInstance isa 'Win32_LogicalDisk'")
;################################################################################;
; Début du programme ;
;################################################################################;
While 1
$objEvent = $colEvents.NextEvent
If $objEvent.TargetInstance.DriveType = 2 Then ; Si un périphérique de type stockage USB est détecté faire:
Select
Case $objEvent.Path_.Class()="__InstanceCreationEvent" ; -> Lors de l'AJOUT d'un périphérique de stockage USB , faire ce qui suit:
$lettre_a_scanner = $objEvent.TargetInstance.DeviceId
MsgBox(64,"désinfector","Votre périphérique USB vient d'être détecté, cliquez sur OK pour lancer l'analyse anti-virale")
;################################################################################;
; Début du scan par premier anti-virus (offiscan) ;
;################################################################################;
ShellExecuteWait ("c:\program files\Trend Micro\Officescan Client\pccnt.exe",$lettre_a_scanner)
;################################################################################;
; Début du scan par deuxième anti-virus (McAffee) ;
;################################################################################;
ShellExecuteWait ("c:\program files\Network Associates\VirusScan\scan32.exe",$lettre_a_scanner)
;################################################################################;
; FIN DU SCAN ;
;################################################################################;
MsgBox(64,"désinfector","Analyse terminé vous pouvez déconnecter votre périphérique")
EndSelect
EndIf
WEnd
Code : Tout sélectionner
#Include <Constants.au3>
#NoTrayIcon
Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
$settingsitem = TrayCreateMenu("Settings")
$displayitem = TrayCreateItem("Display", $settingsitem)
$printeritem = TrayCreateItem("Printer", $settingsitem)
TrayCreateItem("")
$aboutitem = TrayCreateItem("About")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit") ; supprimer ce bouton et modifier les précédents
TraySetState()
TraySetClick(16)
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $aboutitem
Msgbox(64,"About:","mettre mon texte ici")
Case $msg = $exititem
ExitLoop
EndSelect
WEnd
Exit
J'imagine qui faut mettre les includes en premier ensuite déclarer les variables puis entamer la while 1 mais rien n'y fait. Sachez que continue à chercher de mon coté mais j'arrête pour ce soir (13h d'info aujourd'hui), en espérant que vous me fassiez avancer et ainsi gagner du temps merci.


