Problème avec un script VBS
Salut à tous,
Je viens de faire un essai à fin d'utiliser un scripts VBS avec windev et j'ai un problème :
Erreur à la ligne 15 du traitement Procédure locale VerifCleUsb.
L'objet automation 'MSScriptControl.ScriptControl' n'est pas installé sur votre système.
Voici le contexte
J'ai une fenêtre avec deux boutons:
Start Thread pour lancer une Thread
Stop Thread pour arrêter le Thread
Quand je clique sur Start Thread mon code fonctionne correctement, après je clique sur Stop Thread puis Start Thread et du coup j'ai le message d'erreur:
L'objet automation 'MSScriptControl.ScriptControl' n'est pas installé sur votre système.
Code BTN Start Thread
Code:
1 2 3
|
VG_PAbort = 0
ThreadExécute("Thread", threadNormal,ThreadTest) |
Code BTN StOP Thread
Code:
1 2
| VG_PAbort = 1
ThreadArrête("Thread") |
Et le code du Thread
Code:
1 2 3 4 5 6 7
| PROCEDURE ThreadTest()
// verif si la clé est toujour OK
BOUCLE
ThreadAttendSignal(500)
Trace(VerifCleUsb())
A FAIRE TANTQUE gnVG_PAbort = 0 |
et enfin la procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| PROCEDURE VerifCleUsb()
oScript est un objet Automation "MSScriptControl.ScriptControl"
VBS est une chaîne = [
Function TestCleUsb()
dim sInfo
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive",,48)
For Each objItem in colItems
IF objItem.Size <>0 Then
if strcomp(objitem.Caption,"JetFlash Transcend 4GB USB Device",1)=0 then
sInfo = objitem.Caption
end if
End If
Next
TestCleUsb= sInfo
End Function
]
QUAND EXCEPTION DANS
oScript>>Language("VBScript")
oScript>>Reset
oScript>>AddCode(VBS)
oScript>>Timeout(-1)
EtatCle est une chaîne = oScript>>Run("TestCleUsb")
FAIRE
Erreur("Erreur execution WMI",ExceptionInfo(errInfo))
ExceptionActive()
RENVOYER Faux
FIN
RENVOYER EtatCle |
merci d'avance :mrgreen: