PB dans un code avec Microsoft WMI Scripting

Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 2 juil. 2008 à 13:53
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 2 juil. 2008 à 14:07
Bonjour à tous,
J'ai trouvé ce code sur une message du forum et je n'arrive pas à résoudre une erreur !
C'est pourrécup le n° de la carte mère

PublicFunction NumSerieCarteMere()AsString
 
 
 
Dim oWmi As WbemScripting.SWbemServicesEx
Dim oOS As WbemScripting.SWbemObjectSet
Dim oObj As WbemScripting.SWbemObject
Set oWmi = GetObject("WinMgmts:")
 
Set oOS = oWmi.InstancesOf("Win32_BaseBoard")
 
ForEach oObj In oOS
NumSerieCarteMere = NumSerieCarteMere & oObj.SerialNumber
Next
 
EndFunction

VB me dit que :

WbemScripting.SWbemServicesEx
WbemScripting.SWbemObjectSet
WbemScripting.SWbemObject

ne sont pas déclarés ! C'est un souci avec WMI je suppose ?
Merci d'avance

1 réponse

Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
2 juil. 2008 à 14:07
C'est bon, j'ai trouvé j'avais oublié d'ajouter la référence !
Mais j'ai toujours un souci :

J'ai modifié le code suite à quelques erreurs :

Public Function NumSerieCarteMere() As String
        Dim oWmi As WbemScripting.SWbemServicesEx
        Dim oOS As WbemScripting.SWbemObjectSet
        Dim oObj As WbemScripting.SWbemObject
        oWmi = GetObject("WinMgmts:")
        oOS = oWmi.InstancesOf("Win32_BaseBoard")
        For Each oObj In oOS
            MessageBox.Show(oObj.SerialNumber)
        Next
    End Function

VB me souligne EndFunction en vert et me dit :
La fonction 'NumSerieCarteMere' ne retourne pas une valeur pour tous les chemins de code. Une exception de référence null peut se produire au moment de l'exécution lorsque le résultat est utilisé.   
0
Rejoignez-nous