PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → Numéro de série d'un ordinateur.
Numéro de série d'un ordinateur.
Started by MedRAHIMI, Apr., 22 2015 10:33 AM - 8 replies
Registered member
24 messages
Popularité : +1 (1 vote)
Posted on April, 22 2015 - 10:33 AM
Bonjour a tous ,

Je suis en train de développer une application avec windev 19 j'ai besoin de votre aide SVP .

Est ce qu'il y pas une fonction windev ou bien un API windows pour trouver le numéro de série d'un ordinateur.

Merci.
Cordialement
Med RAHIMI
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on April, 22 2015 - 2:48 PM
Bonjour,
Essayez avec WMI et la classe Win32_BaseBoard
objLocator est un objet automation "WbemScripting.SWbemLocator"
objService est un objet automation dynamique
Board est un objet automation dynamique

objService = objLocator>>ConnectServer(".", "root\cimv2")
objService>>Security_>>ImpersonationLevel = 3
Board = objService>>ExecQuery("select * from Win32_BaseBoard")
IF Board>>Count > 0 THEN
Trace(Board>>ItemIndex(0)>>Properties_>>Item("SerialNumber")>>Value)
Trace(Board>>ItemIndex(0)>>Properties_>>Item("Product")>>Value)
Trace(Board>>ItemIndex(0)>>Properties_>>Item("Manufacturer")>>Value)
END
Libérer Board
Libérer objService
Registered member
24 messages
Popularité : +1 (1 vote)
Posted on April, 22 2015 - 3:38 PM
Bonjour Philippe Merci pour votre réponse.

j'ai comparé les deux résultats :
-la commande DOS : wmic bios get serialnumber --> CNU413D0XC
-et votre code --> PDXVU001X6H2JX , sont différents !!!

Savez vous comment exécuter la commande DOS "wmic bios get serialnumber " sous windev !!!!!

Merci .
Cordialement.
Med RAHIMI
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on April, 22 2015 - 8:44 PM
Bonsoir
Essayez d'interroger la classe Win32_BIOS
objLocator est un objet automation "WbemScripting.SWbemLocator"
objService est un objet automation dynamique
Bios est un objet automation dynamique

objService = objLocator>>ConnectServer(".", "root\cimv2")
objService>>Security_>>ImpersonationLevel = 3
Bios = objService>>ExecQuery("select * from Win32_BIOS")
IF Bios>>Count > 0 THEN
Trace(Bios>>ItemIndex(0)>>Properties_>>Item("SerialNumber")>>Value)
END
Libérer Bios
Libérer objService


Je ne connaissais pas cette commande mais elle fait la même chose que le code Windev, sauf que l'on ne met pas le nom complet de la classe
wmic "classe" get "membre" pour avoir le nom complet de la classe il faut juste la préfixer par "Win32_"
Ainsi wmic bios get serialnumber revient à demander le membre "serialnumber" de la classe "Win32_BIOS"
Registered member
24 messages
Popularité : +1 (1 vote)
Posted on April, 23 2015 - 10:32 AM
Parfait ! ça marche Bien !

Merci beaucoup Philippe .

Cordialement.
Med RAHIMI
Posted on January, 28 2016 - 4:34 PM
j'ai testé votre et sa marche .

Une question SVP :

Je n'arrive pas a afficher le model de mon ordinateur. vous avez une idée ?

avec CMD :: wmic csproduct get name, identifyingnumber sa marche

Comment faire avec Windev ?


Merci
Posted on October, 29 2018 - 10:37 PM
Bonsoir , merci pour votre code pour afficher le numeraux de serie
Mais je voudrais maintenant recuperer le numeraux dans un variable pour mon traitement svp priere de maider
Registered member
1 message
Posted on November, 07 2019 - 2:52 PM
Merci Phillipe pour votre code mais je l'ai essayé sur Windows xp et n'a pas marché
Message modified, November, 07 2019 - 2:53 PM
Registered member
7 messages
Posted on July, 26 2022 - 3:21 PM
Bonjour Philippe,
Encore un grand Merci 🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼