ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Comment obtenir la clef d'activation de Windows XP (et Vista)   



L'auteur

Mike Gagnon
Canada Canada
Membre Simple
# 0000000025
enregistré le 14/10/2004

Gagnon Mike
Pointe Cla H9R 3K8
de la société Carver Technologies Inc.
Fiche personnelle


Note des membres
pas de note

Contributions > 10 - REG base de registre

Comment obtenir la clef d'activation de Windows XP (et Vista)
# 0000000621
ajouté le 16/06/2008 17:54:33 et modifié le 23/06/2008
consulté 10218 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0


Le téléchargement des pièces jointes est limité aux membres
Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
Description
Ce dll contient seulement une fonction, qui trouve la clef d'activation de la version de XP (ou Vista) installée. Il faut utiliser RegSvr32 pour enregistrer de DLL avant de l'utiliser.
Code source :
**Utilisation
okey= CREATEOBJECT("GETXPKEY.GETXP")
?okey.getdigitalproductid()
Commentaires
le 16/06/2008, Francis Faure a écrit :
Bonsoir Mike
Il manque peut être la dll à cette contribution ?
Cordialement

le 16/06/2008, Mike Gagnon a écrit :
Tu as raison .

le 19/06/2008, Jean à Grenoble a écrit :
Est-ce que l'on peut s'en servir pour identifier un PC ou est-ce que l'on peut avoir 2 PC avec la même clef ?

Jean

le 19/06/2008, Christophe Chenavier a écrit :
Possible en 100% fox.

#DEFINE HKEY_LOCAL_MACHINE 0x80000002

FUNCTION GetProductIdKey

LOCAL I, J, cRegPath, cProductId, cCDKey, nCur
LOCAL ARRAY aProductKey(15), aKeyChars(24)

M.cCDKey = ''
M.cRegPath = "SOFTWARE\MICROSOFT\Windows NT\CurrentVersion"
M.cProductId = GetRegKey(HKEY_LOCAL_MACHINE, M.cRegPath, "DigitalProductId")
IF NOT EMPTY(M.cProductId)
M.cProductId = SUBSTR(M.cProductId, 53, 15)
FOR I = 1 TO 15
aProductKey(M.I) = ASC(SUBSTR(M.cProductId,M.I,1))
ENDFOR
ALINES(aKeyChars,"B,C,D,F,G,H,J,K,M,P,Q,R,T,V,W,X,Y,2,3,4,6,7,8,9",1,',')
FOR I = 24 TO 0 STEP -1
M.nCur = 0
FOR J = 14 TO 0 STEP -1
M.nCur = BITXOR(M.nCur * 256, aProductKey(M.J+1))
aProductKey(M.J+1) = INT(M.nCur / 24)
M.nCur = MOD(M.nCur, 24)
ENDFOR
M.cCDKey = aKeyChars(M.nCur+1) + M.cCDKey
IF MOD(M.I,5) = 0 AND M.I <> 0
M.cCDKey = '-' + M.cCDKey
ENDIF
ENDFOR
ENDIF

RETURN M.cCDKey

le 19/06/2008, Mike Gagnon a écrit :
Christophe,

Le DLL que j'ai fais est aussi du 100% pur Fox. Mais je l'ai fait en DLL au lieu d'un Fontion. Mais je crois qu'il te manque un declaration pour le GetRegKey()

le 19/06/2008, Mike Gagnon a écrit :
Jean,
Ce DLL je m'en sert pour dans un logiciel style "asset management" (Connais pas la traduction), qui prend un inventaire complet d'un PC incluant tous (Carte Maitresse, disque dur, logiciels installé avec numéro de séries et clef d'activation.
Mais tu pourais aussi l'utliser comme moyen de sécurisé une application Fox contre la contrebande, mais cette clef peut-etre aussi changée.

Pour ce que qui est de 2 PC avec la meme clef, oui c'est possible, mais pas légal d'après Microsoft. Et je ne sais pas ce qui ce passeras lors des mis-à-jours.


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3