Je cherche une API ou autre moyen utilisable par Windev qui me
permettrait d'afficher les propriétés de marque, modèle et capacité
d'un support physique de façon à obtenir par exemple le résultat
suivant :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Georges Peyre
Georges Peyre a exprimé avec précision :
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait d'afficher les propriétés de marque, modèle et capacité d'un support physique de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour les afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne
ResExecute est un booléen ResListe est une chaîne = ""
ResLecture = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "ZIP Permanent" + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "CD-ROM / DVD " + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN --------
L'affichage de ces infos aurait certainement été plus élégant avec une lecture séquentielle de toutes les branches du registre appartenant a la racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en détectant à chaque lecture les clés "Identifier" ou "Type" Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire séquentiellement toutes les sous-clés appartenant à une racine de clé du registre ?
Cordialement
-- Elle est pas belle la vie ?
Georges Peyre a exprimé avec précision :
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait
d'afficher les propriétés de marque, modèle et capacité d'un support physique
de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour
les afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne
ResSupport est une chaîne
ResIdentite est une chaîne
ResExecute est un booléen
ResListe est une chaîne = ""
ResLecture =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC +
RC
FIN
ResSupport =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port
0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "ZIP Permanent" + " : "
FIN
ResIdentite =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port
0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + ResIdentite + RC
FIN
ResSupport =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port
1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "CD-ROM / DVD " + " : "
FIN
ResIdentite =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port
1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + ResIdentite + RC
FIN
--------
L'affichage de ces infos aurait certainement été plus élégant avec une
lecture séquentielle de toutes les branches du registre appartenant a
la racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en
détectant à chaque lecture les clés "Identifier" ou "Type"
Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire
séquentiellement toutes les sous-clés appartenant à une racine de clé
du registre ?
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait d'afficher les propriétés de marque, modèle et capacité d'un support physique de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour les afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne
ResExecute est un booléen ResListe est une chaîne = ""
ResLecture = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "ZIP Permanent" + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "CD-ROM / DVD " + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN --------
L'affichage de ces infos aurait certainement été plus élégant avec une lecture séquentielle de toutes les branches du registre appartenant a la racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en détectant à chaque lecture les clés "Identifier" ou "Type" Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire séquentiellement toutes les sous-clés appartenant à une racine de clé du registre ?
Cordialement
-- Elle est pas belle la vie ?
Gilles TOURREAU
Georges Peyre avait écrit le 01/08/2006 :
Georges Peyre a exprimé avec précision :
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait d'afficher les propriétés de marque, modèle et capacité d'un support physique de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour les afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne
ResExecute est un booléen ResListe est une chaîne = ""
ResLecture = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "ZIP Permanent" + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "CD-ROM / DVD " + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN --------
L'affichage de ces infos aurait certainement été plus élégant avec une lecture séquentielle de toutes les branches du registre appartenant a la racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en détectant à chaque lecture les clés "Identifier" ou "Type" Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire séquentiellement toutes les sous-clés appartenant à une racine de clé du registre ?
Cordialement
Très rapidement :
Chemin est une Chaîne Chemin = RegistrePremièreSousClé ("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP")
//Appeler la fonction RegistreListeValeur() pour obtenir les différentes valeur des sous clé... FIN
Cordialement
-- Gilles TOURREAU Responsable informatique
Société P.O.S Spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Georges Peyre avait écrit le 01/08/2006 :
Georges Peyre a exprimé avec précision :
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait
d'afficher les propriétés de marque, modèle et capacité d'un support
physique de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour les
afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne
ResSupport est une chaîne
ResIdentite est une chaîne
ResExecute est un booléen
ResListe est une chaîne = ""
ResLecture =
RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC + RC
FIN
ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi
Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "ZIP Permanent" + " : "
FIN
ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi
Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + ResIdentite + RC
FIN
ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi
Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + "CD-ROM / DVD " + " : "
FIN
ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi
Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute)
SI ResExecute = Vrai ALORS
ResListe = ResListe + ResIdentite + RC
FIN
--------
L'affichage de ces infos aurait certainement été plus élégant avec une
lecture séquentielle de toutes les branches du registre appartenant a la
racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en détectant à
chaque lecture les clés "Identifier" ou "Type"
Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire
séquentiellement toutes les sous-clés appartenant à une racine de clé du
registre ?
Cordialement
Très rapidement :
Chemin est une Chaîne
Chemin = RegistrePremièreSousClé
("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP")
Je cherche une API ou autre moyen utilisable par Windev qui me permettrait d'afficher les propriétés de marque, modèle et capacité d'un support physique de façon à obtenir par exemple le résultat suivant :
J'ai trouvé les informations que je cherche dans le registre et pour les afficher j'utilise par exemple le code rudimentaire suivant :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne
ResExecute est un booléen ResListe est une chaîne = ""
ResLecture = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor ","ProcessorNameString",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "Processeur : " + SansEspace(ResLecture) + RC + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "ZIP Permanent" + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN ResSupport = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Type",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + "CD-ROM / DVD " + " : " FIN ResIdentite = RegistreLit("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 1Scsi Bus 0Target Id 0Logical Unit Id 0","Identifier",ResExecute) SI ResExecute = Vrai ALORS ResListe = ResListe + ResIdentite + RC FIN --------
L'affichage de ces infos aurait certainement été plus élégant avec une lecture séquentielle de toutes les branches du registre appartenant a la racine principale "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP" en détectant à chaque lecture les clés "Identifier" ou "Type" Je n'arrive pas à écrire cette lecture séquentielle
Quelqu'un aurait-il un exemple de code qui permettrait de lire séquentiellement toutes les sous-clés appartenant à une racine de clé du registre ?
Cordialement
Très rapidement :
Chemin est une Chaîne Chemin = RegistrePremièreSousClé ("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP")
//Appeler la fonction RegistreListeValeur() pour obtenir les différentes valeur des sous clé... FIN
Merci pour cet exemple mais j'ai déjà essayé ce code qui ne permet d'obtenir que les cléq de même niveau.
J'ai enfin trouvé la solution suivante en utilisant la fonction RegistreCherche de Windev qui est très puissante
Avec le code suivant j'obtiens ce que je veux :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne IndL est un entier ResExecute est un booléen ResListe est une chaîne = ""
// on utilise une liste invisible ListeSupprimeTout(Liste1) Clé est une chaîne = "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsi" TANTQUE Clé <> "" Clé = RegistreCherche(Clé,"Identifier") SI Clé <> "" ALORS ListeAjoute(Liste1,Clé) FIN
POUR IndL = 1 A ListeOccurrence(Liste1) Clé = Liste1[IndL]..ValeurAffichée // il faut supprimer les <TAB> insérés par la fonction RegistreCherche Clé = Remplace(Clé,TAB,"") Clé = Remplace(Clé,"Identifier","") // On récupère le nom du support physique ResLecture = RegistreLit(Clé,"Type",ResExecute) SI ResExecute = Vrai ALORS ResSupport = ResLecture SINON ResSupport = "Support non trouvé" FIN // On récupère l'identité du support physique ResLecture = RegistreLit(Clé,"Identifier",ResExecute) SI ResExecute = Vrai ALORS ResIdentite = ResLecture SINON ResIdentite = "Identité non trouvée" FIN Trace(ResSupport + " : " + ResIdentite) FIN
Cordialement
-- Elle est pas belle la vie ?
Bonjour Gilles
Gilles TOURREAU a formulé ce mardi :
Chemin est une Chaîne
Chemin = RegistrePremièreSousClé ("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAP")
//Appeler la fonction RegistreListeValeur() pour obtenir les différentes
valeur des sous clé...
FIN
Merci pour cet exemple mais j'ai déjà essayé ce code qui ne permet
d'obtenir que les cléq de même niveau.
J'ai enfin trouvé la solution suivante en utilisant la fonction
RegistreCherche de Windev qui est très puissante
Avec le code suivant j'obtiens ce que je veux :
ResLecture est une chaîne
ResSupport est une chaîne
ResIdentite est une chaîne
IndL est un entier
ResExecute est un booléen
ResListe est une chaîne = ""
// on utilise une liste invisible
ListeSupprimeTout(Liste1)
Clé est une chaîne = "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsi"
TANTQUE Clé <> ""
Clé = RegistreCherche(Clé,"Identifier")
SI Clé <> "" ALORS ListeAjoute(Liste1,Clé)
FIN
POUR IndL = 1 A ListeOccurrence(Liste1)
Clé = Liste1[IndL]..ValeurAffichée
// il faut supprimer les <TAB> insérés par la fonction RegistreCherche
Clé = Remplace(Clé,TAB,"")
Clé = Remplace(Clé,"Identifier","")
// On récupère le nom du support physique
ResLecture = RegistreLit(Clé,"Type",ResExecute)
SI ResExecute = Vrai ALORS
ResSupport = ResLecture
SINON
ResSupport = "Support non trouvé"
FIN
// On récupère l'identité du support physique
ResLecture = RegistreLit(Clé,"Identifier",ResExecute)
SI ResExecute = Vrai ALORS
ResIdentite = ResLecture
SINON
ResIdentite = "Identité non trouvée"
FIN
Trace(ResSupport + " : " + ResIdentite)
FIN
//Appeler la fonction RegistreListeValeur() pour obtenir les différentes valeur des sous clé... FIN
Merci pour cet exemple mais j'ai déjà essayé ce code qui ne permet d'obtenir que les cléq de même niveau.
J'ai enfin trouvé la solution suivante en utilisant la fonction RegistreCherche de Windev qui est très puissante
Avec le code suivant j'obtiens ce que je veux :
ResLecture est une chaîne ResSupport est une chaîne ResIdentite est une chaîne IndL est un entier ResExecute est un booléen ResListe est une chaîne = ""
// on utilise une liste invisible ListeSupprimeTout(Liste1) Clé est une chaîne = "HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsi" TANTQUE Clé <> "" Clé = RegistreCherche(Clé,"Identifier") SI Clé <> "" ALORS ListeAjoute(Liste1,Clé) FIN
POUR IndL = 1 A ListeOccurrence(Liste1) Clé = Liste1[IndL]..ValeurAffichée // il faut supprimer les <TAB> insérés par la fonction RegistreCherche Clé = Remplace(Clé,TAB,"") Clé = Remplace(Clé,"Identifier","") // On récupère le nom du support physique ResLecture = RegistreLit(Clé,"Type",ResExecute) SI ResExecute = Vrai ALORS ResSupport = ResLecture SINON ResSupport = "Support non trouvé" FIN // On récupère l'identité du support physique ResLecture = RegistreLit(Clé,"Identifier",ResExecute) SI ResExecute = Vrai ALORS ResIdentite = ResLecture SINON ResIdentite = "Identité non trouvée" FIN Trace(ResSupport + " : " + ResIdentite) FIN