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 BTN StOP Thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 VG_PAbort = 0 ThreadExécute("Thread", threadNormal,ThreadTest)
Et le code du Thread
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 VG_PAbort = 1 ThreadArrête("Thread")
et enfin la procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Partager