[..] Fonction WMI Bloquante

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

[..] Fonction WMI Bloquante

#1

Message par matwachich »

Alors, n'étant pas très fort en WMI ni en COM, je m'en remet à vous.
Voici mon code: (trouvé sur le forum anglais)

Code : Tout sélectionner

$file = @ScriptFullPath

; Setup WMI
$sComputer = @ComputerName
$oWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $sComputer & "\root\cimv2")

$colMonitoredEvents = $oWMIService.ExecNotificationQuery _
        ("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE " _
        & "TargetInstance ISA 'CIM_DataFile' AND " _
        & 'TargetInstance.Name="' & StringReplace($file, '\', '\\') & '"')

While 1
    ConsoleWrite("-" & @CRLF)
    $oLatestEvent = $colMonitoredEvents.NextEvent ; ############
    ConsoleWrite('Time: ' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF)
    ConsoleWrite("File: " & $oLatestEvent.TargetInstance.Name & @CRLF)
    ConsoleWrite("New size: " & $oLatestEvent.TargetInstance.FileSize & @CRLF)
    ConsoleWrite("Old size: " & $oLatestEvent.PreviousInstance.FileSize & @CRLF)
    Sleep(1000)
WEnd
Il sert à monitorer les changement de taille d'un fichier (une boucle de FileGetSize est plutôt lourde)
Le problème c'est que la ligne marqué d'un ; ##### est bloquante.

Comment y remédier SVP??? Merci
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre