|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Bidouilleur Inscription : décembre 2008 Messages : 379 ![]() |
bonjour,
voici en gros le principe : Dans votre logiciel, il y a un bouton demande d'activation. Ce bouton génère un fichier ou une chaîne cryptée que votre client doit vous transmettre ( courrier électronique ). Dans ce fichier il y a des informations concernant le BIOS, la carte mère, la carte réseau, le disque dur ( pas des informations confidentielles, seulement des numéros de série ou info HARD). En recueillant ces informations vous jugez quelles sont ou quelle est l'information la plus fiable. Vous générez une clé d'activation cryptée en fonction de ces informations. Vous la transmettez à votre client. La partie activation de votre logiciel (lancé à chaque démarrage) vient alors décoder cette clé et vient vérifier que les infos Hard correspondent au matériel sur lequel est lancé le logiciel. Pour vous aidez dans cette tâche, je vous propose la partie récolte d'informations. Voici une procédure qui utilise WMI avec assemblage DotNet, récupérant des infos pour générer ou contrôler un numéro de licence. Code :
1 - Utiliser l'assemblage .NET "System.Management" : Menu Atelier/.NET/Utiliser Un Assemblage .NET dans ce projet Dans la fenêtre qui s'ouvre cliquer sur "Lister les assemblages référencés" Quand la recherche est terminée cocher "Mscorlib" et "System.Management" 2 - Récupérer la collection de procédure pWMI.wdg qui se trouve dans l'exemple complet WD WMI DOTNET et l'inclure dans votre projet 3 - Rajouter la procédure RécupèreInfosLicence dans votre collection pWMI.wdg Contrainte : comme vous utilisez un assemblage .Net, il faut que le Framework dotnet soit installé sur la station qui utilisera cette procédure. Ami calmant, J.P ;-) |
||
|
|
20
|
|
|
#2 |
|
Membre du Club
![]() Inscription : janvier 2008 Messages : 55 ![]() |
intéressant:
est ce que cela fonctionne quelque soit le système ? quelque soit le framework .net installé? |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Bidouilleur Inscription : décembre 2008 Messages : 379 ![]() |
bonjour hehehe,
tu as bien fait de poser la question car je me suis aperçu que la propriété que j'utilise pour récupérer l'adresse MAC de la première carte réseau (PhysicalAdapter=True) ne marche pas pour XP , Windows 2000. Il faut utiliser plutôt la propriété NetConnectionStatus=2 ( la première carte réseau connectée à un réseau). Sinon sous Windows 7 dotnet 3.5 je récupère tous les infos. Par contre sur mon NetBook MSI U100 sous XP dotnet 2.0 je ne récupère pas les infos BIOS, pour l'adresse MAC il faut que j'utilise NetConnectionStatus=2. Ami Calmant, J.P |
|
|
10
|
|
|
#4 | ||||
|
Membre Expert
![]() Développeur informatique Inscription : juin 2004 Messages : 1 222 ![]() |
Salut à toi jurassic,
Ce sujet m'intéresse fortement, faisant actuellement des recherches pour récupérer des informations sur le processeur, je suis tombé ici. Tout d'abord, avant d'aller plus loin dans mes questions, j'ai regardé l'exemple "WD WMI DOTNET", et malheureusement j'ai le droit à une belle erreur sur l'appel de getEnumerator() de la procédure globale RécupèreInfos() : Code :
Code :
Y-a-t'il un piège à contourner pour utiliser cet exemple ? Merci à toi Edit : GetEnumerator() semble ne rien renvoyer ce qui provoque cette erreur. Edit2 : GetEnumerator() ne fonctionne pas sous Windev12. |
||||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Bidouilleur Inscription : décembre 2008 Messages : 379 ![]() |
bonjour Lo2,
mon code marche sous WD15 Windows 7 sous quel O.S es-tu ? avec quelle version de windev ? Ami calmant, J.P |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Développeur informatique Inscription : juin 2004 Messages : 1 222 ![]() |
Salut,
J'ai eu ma réponse en ouvrant un sujet : http://www.developpez.net/forums/d94...wd-wmi-dotnet/ Il s'avère que cela est dû à la version de Windev utilisé, version 12 en l'occurrence, qui ne gère pas les enumérations des assemblages DOTNET. Le problème est corrigé en version 14/15. |
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() Inscription : avril 2008 Messages : 723 ![]() |
Salut à tous!
Merci JP pour cette contribution! ![]() Je viens donc d'essayer sur le poste de DEV et j'obtiens cette erreur : Code :
Comment savoir si ce framework est installé? Est-il nécessaire de l'installer sur le poste de DEV avec WD ? Que de questions! désolé je suis vraiment bleu dans WMI
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com