PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → Numéro de série d'un ordinateur.
Numéro de série d'un ordinateur.
Iniciado por MedRAHIMI, abr., 22 2015 10:33 AM - 8 respostas
Membro registado
24 mensagems
Popularité : +1 (1 vote)
Publicado em abril, 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
Membro registado
945 mensagems
Popularité : +102 (110 votes)
Publicado em abril, 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
Membro registado
24 mensagems
Popularité : +1 (1 vote)
Publicado em abril, 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
Membro registado
945 mensagems
Popularité : +102 (110 votes)
Publicado em abril, 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"
Membro registado
24 mensagems
Popularité : +1 (1 vote)
Publicado em abril, 23 2015 - 10:32 AM
Parfait ! ça marche Bien !

Merci beaucoup Philippe .

Cordialement.
Med RAHIMI
Publicado em janeiro, 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
Publicado em outubro, 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
Membro registado
1 mensagem
Publicado em novembro, 07 2019 - 2:52 PM
Merci Phillipe pour votre code mais je l'ai essayé sur Windows xp et n'a pas marché
Mensagem modificada, novembro, 07 2019 - 2:53 PM
Membro registado
7 mensagems
Publicado em julho, 26 2022 - 3:21 PM
Bonjour Philippe,
Encore un grand Merci 🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼