IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

créer une cle dans la base de registre


Sujet :

VBScript

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut créer une cle dans la base de registre
    Bonjour a tous
    je cherche a créer une clé dans la base de registre en vbs

    je ne dois pas utiliser la bonne méthode car ca ne fonctionne pas et je n'ai pas d'erreur

    mon but étant d'ajouter la même clé que "acroRd32.exe" pour "pdftotext32.exe"

    des idées ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim WshShell1,WshShell2
    On Error Resume Next
    Set WshShell1= CreateObject("WScript.Shell")
    CleRegistre = WshShell1.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe\")
    adobread = Replace(CleRegistre , "AcroRd32.exe", "")
       msgbox adobread
    Set WshShell2 = CreateObject("WScript.Shell") 
    WshShell2.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\pdftotext32.exe\" , adobread & "pdftotext32.exe"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Salut Patrick !

    Je pense que tu dois créer l'arborescence niveau par niveau comme dans cet exemple



    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    Bonsoir Marc
    oui je m'en doutais que l'on pouvait pas créer la cle et la valeur string en meme temps

    malgré cela ca ne fonctionne toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim WshShell1,WshShell2
    On Error Resume Next
    Set WshShell1= CreateObject("WScript.Shell")
    CleRegistre = WshShell1.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe\")
    adobread = Replace(CleRegistre , "AcroRd32.exe", "")
       msgbox adobread
    Set WshShell2 =CreateObject("WScript.Shell") 
    WshShell2.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\pdftotext32\",1, "REG_BINARY"
    WshShell2.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\pdftotext32", adobread & "pdfttotext32.exe", "REG_SZ"
    je patauge gloup gloup!! je me noie !!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim WshShell1,WshShell2
    On Error Resume Next
    Déjà cette instruction masque les erreurs éventuelles.
    D'autre part, quelle est l'utilité de créer deux objets WshShell alors qu'un seul suffit s'il n'a pas été supprimé ?

    Si tu as les droits nécessaires sur la clé en question, le script doit fonctionner correctement, voici celui que j'ai testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim WshShell, adobread
    'On Error Resume Next
     Const Key = "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\"
     Set WshShell= CreateObject("WScript.Shell")
     CleRegistre = WshShell.RegRead(Key & "AcroRd32.exe\")
     adobread = Replace(CleRegistre , "AcroRd32.exe", "")
     MsgBox adobread
     WshShell.RegWrite Key & "pdftotext32.exe\" , adobread & "pdftotext32.exe", "REG_SZ"
     MsgBox WshShell.RegRead(Key & "pdftotext32.exe\")
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut RE
    BONSOIR L4AUTODIDACTE
    MEME ERREUR
    SUR CETTE LIGNE
    WshShell.RegWrite Key & "pdftotext32.exe\" , adobread & "pdftotext32.exe", "REG_SZ"

    POUR QUE LES CHOSES SIENT CLAIRES

    la clé pdftotext32 n'existe pas au départ
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Je sais que tu veux créer ladite clé (donc elle n'existe pas).
    Quel est le message d'erreur après avoir supprimé On Error Resume Next?
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    capture
    Nom : Capture.JPG
Affichages : 1660
Taille : 34,7 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Donc la clé n'a pas pu être créée.

    Et si on procède par étape : D'abord on crée la clé puis on écrit la valeur et la donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WshShell.RegWrite Key & "pdftotext32.exe\", "", "REG_SZ" ' Création de la clé avec une valeur(par défaut) vide
    WshShell.RegWrite Key & "pdftotext32.exe\" , adobread & "pdftotext32.exe", "REG_SZ" ' écriture du contenu de la valeur (par défaut)
    MsgBox WshShell.RegRead(Key & "pdftotext32.exe\")
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    toujours la même erreur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Es-tu sûr que les options de sécurité de ton registre te permettent d'écrire une clef de registre à l'endroit où tu veux l'écrire ? Plus Windows avance, plus MS essaie de blinder le registre.

    Je ne sais pas pour ton Windows à toi, mais dans le mien, il y a sous-menu autorisations... dans le menu Édition de RegEdit.

    Également, un utilitaire gratuit que j'aime bien. (Désolé, si tu le connais déjà)
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    entendons nous bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WshShell.RegWrite Key & "pdftotext32.exe\", "", "REG_SZ" ' Création de la clé avec une valeur(par défaut) vide
    WshShell.RegWrite Key & "pdftotext32.exe\" , adobread & "pdftotext32.exe", "REG_SZ" ' écriture du contenu de la valeur (par défaut)
    object écriture [ nom de la cle], [vide ,type(valeur) ] c'est bien cela ??


    juste une question par la suite
    si je veux donner un nom a cette valeur ?????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    bonsoir clément

    effectivement j'avais pas tout les droit même si je suis administrateur

    cependant même sans dans hkcr ou hkcu je peut écrire mais hklm non bizarre non?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re bon ca y est c'est bien un soucis d'administrateur

    donc mon projet tombe a l'eau
    en effet mon projet est de compiler un installateur de l'Exe dans le dossier d'un programme puis d'y enregistrer le chemin dans regedit comme pour adobe reader

    donc si ca n'est pas automatique mon principe tombe a l'eau

    autant créer un ".reg" et le lancer avec shell et répondre "oui" au message ou jouer au sendkeys tab puis enter l'ors du message

    qu'en pensez vous????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Au lieu d'avoir à envoyer des séquences de touches (SendKeys), On pourrait mieux faire en ajoutant un commutateur à Regedit
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WS = CreateObject("Wscript.Shell")
    WS.Run "Regedit.exe /s " & "Monfichier.reg", 0, True
    Pour le code qui ne marchait pas suite à des problèmes de droits(ce que j'ai mentionné dans mon premier post), cela pourrait marcher si on essaie avec WMI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Explicit 
     
    Const HKLM = &H80000002
    Const KEY_QUERY_VALUE = &H1
    Const KEY_SET_VALUE = &H2
    Const KEY_NOTIFY = &H10
    Const STANDARD_RIGHTS_ALL = &H1F0000
    Const KEY_CREATE_SUB_KEY = &H4
    Const KEY_ENUMERATE_SUB_KEYS = &H8
    Const KEY_CREATE_LINK = &H20
    Const SYNCHRONIZE = &H100000
     
    Const sPath = "Software\Microsoft\Windows\CurrentVersion\App Paths\"
    Const REG_SZ = 1
    Dim KEY_ALL_ACCESS, lRC, bGranted, objRegistry, I, sNames, iTypes, sValue, sMsg
     
     KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))
     
    Set objRegistry = GetObject("WinMgmts:root\default:StdRegProv")
     
    lRC = objRegistry.EnumValues(HKLM, sPath & "AcroRd32.exe", sNames, iTypes)
     
    If (lRC = 0) And (Err.Number = 0) Then
         For i = LBound(iTypes) To UBound(iTypes)
            Select Case iTypes(i)
                Case REG_SZ
                    lRC = objRegistry.GetStringValue(HKLM , sPath & "AcroRd32.exe", sNames(i), sValue)
                    If sNames(i) = "" Then  'Valeur dénommée (par défaut) ou (default) si Fr ou En
                        sMsg =  sValue 
                        Exit For
                    End If
            End Select 
        Next
    End If
    MsgBox sMsg
    lRC = objRegistry.CheckAccess(HKLM, sPath, KEY_ALL_ACCESS, bGranted)
     
    If (lRC = 0) And (Err.Number = 0) Then
        If bGranted = True Then
            objRegistry.CreateKey HKLM, sPath & "pdftotext32.exe\"
            objRegistry.SetStringValue HKLM, sPath & "pdftotext32.exe\", "", Replace(sMsg, "AcroRd32.exe", "pdftotext32.exe")
            MsgBox bGranted ' Juste pour voir si l'accès à la clé sPath est permis ou non
        End If
    Else
        'Une erreur est survenue
    End If
    Si on a les droits nécessaires, l'entrée sera créée dans le registre sinon .... retour à la case départ.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    Bonjour l autodidacte

    oui j'ai essayé hier le run sur un .reg
    il y a quand meme la demande d'autorisation qui s'affiche

    je vais essayer le tien l'argument 0 c'est quoi???

    ensuite je vais regarder le Wmi
    mais il faut que remette le HKLM avec les autorisation comme c'était avant pour vérifier si ca passe
    je reviens dans peu de temps le temp de faire les tests
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    bon visiblement ta version est meilleure
    car j'ai les fenêtre après exécution du .reg qui sont absente
    ma version
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     'WshShell.Run "cmd /c  C:\Users\polux\Desktop\pdftotext.reg", vbHide, True
    ta version
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run "Regedit.exe /s " & "Monfichier.reg", 0, True
    je vais vérifier avec WMI maintenant
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    bon ok c'est pareil avec wmi pas de création de la cle si je suis en autorisation "lecture seule"

    conclusion

    génération du .reg dynamique et exécution de regedit.exe sur le .reg en Vbhide ou 0 comme tu veux


    c'est le seul moyen pour que ca marche a tous les coup

    merci l'autodidacte je garde quand mem tes exemple puisque avec les autre ca marche meme si j'ai pas les autorisation s

    hkcu,hkcr ok. en même temps c'est logique
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re j ai parler trop vite
    re
    bon ben j'ai parler trop vite ca n'inscrit pas la clé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim WshShell, adobread,CleRegistre ,fichierREG, NewFichier
    'On Error Resume Next
     Const Key = "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\"
     Set WshShell= CreateObject("WScript.Shell")
     CleRegistre = WshShell.RegRead(Key & "AcroRd32.exe\")
     adobread = Replace(CleRegistre , "AcroRd32.exe", "")
    fichierREG=WshShell.SpecialFolders("Desktop" ) &"\cle.reg" 'chemin du fichier reg 
    Set fso =CreateObject("Scripting.FileSystemObject")
    Set NewFichier = fso.CreateTextFile(FichierREG,TRUE)
    ' code du fichier reg 
    cle = "Windows Registry Editor Version 5.00" & vbcrlf
    cle =cle &"[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\pdftotext32.exe]" & vbcrlf
    cle =cle &"@=""" & replace(adobread,"\","\\") & "pdftotext32.exe"""
     ' ecriture dans le fichier 
    NewFichier.Write(cle) 
     
    Set fso = Nothing
    WScript.Sleep 500
     
    WshShell.Run "Regedit.exe /s" & fichierREG, 0, True 'inscription
    je crois que je tourne en rond et que je vous entraine avec moi visiblement Windows ne veut pas qu'on face ce genre de truc

    en gros toute les librairie que l'on utilise sont complètement inutiles vu la sécurité que Microsoft instaure

    on va laisser tomber ce projet tant pis encore un qui tombe a l'eau
    je vais finir vraiment par passer a linux moi
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Moi je testerais avant tout sans l'option /s pour voir l'origine de l'erreur s'il y en a, car cette option masque(ou désactive) tout message de confirmation ou d'erreur.
    S'il n'y a pas d'erreurs, je remettrais l'option /s.

    Le fichier de sortie(cle.reg) doit être fermé, juste avant de mettre fso à Nothing, ajoute NewFichier.Close.

    Ensuite, si le chemin vers le fichier cle.reg comporte des espaces(ce qui est le cas pour moi), la dernière ligne du code devrait être modifiée pour avoir WshShell.Run "Regedit.exe /s " & chr(34) & fichierREG & chr(34), 0, True 'inscription; 0 étant la même chose que vbHide.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    j'ai déjà essayé sans le "/s et ca marche mais j'ai les message de regedit
    je vais revoir tout ca j'ai peu être zappé le close en effet
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Enregistrer une police dans la base de registre
    Par koKoTis dans le forum Windows XP
    Réponses: 19
    Dernier message: 31/08/2006, 09h54
  2. [IE] Modifier une option dans la base de registre
    Par Oberown dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/06/2006, 09h53
  3. Chercher une valeur dans la base de registre
    Par Sallie dans le forum MFC
    Réponses: 9
    Dernier message: 19/05/2006, 13h57
  4. Réponses: 2
    Dernier message: 15/03/2006, 11h13
  5. Lire une donnée dans la base de registre
    Par K.othmane dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2006, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo