L'auteur
eto_dermezel France Membre Simple # 0000000003 enregistré le 12/10/2004http://etodermezel.no-ip.com/ 52 ans de la société YNEDY COMMUNICATION Fiche personnelle
Note des membres
pas de note
Contributions > 10 - REG base de registre
Lister les polices installées sur le système (et le fichiers correspoondants)
# 0000000260
ajouté le 15/11/2005 17:46:25 et modifié le 15/11/2005
consulté 8568 fois
Niveau
initié Version(s) Foxpro : VFP 9.0 VFP 8.0 VFP 7.0 VFP 6.0
Description
Voici le bout de code me permettant de récupérer les polices du système avec les fichiers correspondants :
Code source :
CLOSE ALL
#DEFINE HKEY_CLASSES_ROOT -2147483648 && BITSET(0,31)
#DEFINE HKEY_CURRENT_USER -2147483647 && BITSET(0,31)+1
#DEFINE HKEY_LOCAL_MACHINE -2147483646 && BITSET(0,31)+2
#DEFINE HKEY_USERS -2147483645 && BITSET(0,31)+3
CREATE CURSOR _polices (nom c(254),;
fichier c(254))
CLEAR
SET PROCEDURE TO "c:\projets\documents\Registry.prg"
oReg=NEWOBJECT ("Registry" )
&& on pointe sur la clé
oReg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' ,HKEY_LOCAL_MACHINE)
&& on énumère les clés
m._numKey=0
DO WHILE .T.
DIMENSION lpcbData(1,1)
STORE 0 TO lpdwReserved,lpdwType,nErrCode
STORE SPACE (256) TO lpbData, lpszValue
STORE LEN (lpbData) TO m.lpcchValueSTORE LEN (lpszValue) TO m.lpcbData
m.nErrCode=RegEnumValue(oReg.nCurrentKey,;
m._numKey,;
@lpszValue,;
@lpcchValue,;
m.lpdwReserved,;
@lpdwType,;
@lpbData,;
@lpcbData)
IF EMPTY (lpszValue)EXIT
ENDIF
m.nom=LEFT (m.lpszValue,AT (CHR (0),m.lpszValue)-1)m.Fichier=LEFT (m.lpbData,AT (CHR (0),m.lpbData)-1)
INSERT INTO _polices (nom,;fichier) VALUES (m.nom,;
m.fichier)
m._numKey=m._numkey+1
enddo
oReg=NULL
brows
Commentaires
Bravo Eto, tu as fini par trouver la solution.
C'est quoi Registry.prg?