PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Numéro de série d'un ordinateur.
Numéro de série d'un ordinateur.
Iniciado por MedRAHIMI, 22,abr. 2015 10:33 - 8 respuestas
Miembro registrado
24 mensajes
Popularité : +1 (1 vote)
Publicado el 22,abril 2015 - 10:33
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
Miembro registrado
945 mensajes
Popularité : +102 (110 votes)
Publicado el 22,abril 2015 - 14:48
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
Miembro registrado
24 mensajes
Popularité : +1 (1 vote)
Publicado el 22,abril 2015 - 15:38
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
Miembro registrado
945 mensajes
Popularité : +102 (110 votes)
Publicado el 22,abril 2015 - 20:44
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"
Miembro registrado
24 mensajes
Popularité : +1 (1 vote)
Publicado el 23,abril 2015 - 10:32
Parfait ! ça marche Bien !

Merci beaucoup Philippe .

Cordialement.
Med RAHIMI
Publicado el 28,enero 2016 - 16:34
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
Publicado el 29,octubre 2018 - 22:37
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
Miembro registrado
1 mensaje
Publicado el 07,noviembre 2019 - 14:52
Merci Phillipe pour votre code mais je l'ai essayé sur Windows xp et n'a pas marché
Mensaje modificado, 07,noviembre 2019 - 14:53
Miembro registrado
7 mensajes
Publicado el 26,julio 2022 - 15:21
Bonjour Philippe,
Encore un grand Merci 🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼