Page 1 sur 1

[..] Problème d'adressage dans base de registre

Posté : jeu. 14 janv. 2016 10:22
par yoyohum04
Bonjour,

Je suis en train d'écrire un programme qui change une clé dans la base de registre. Il a fonctionné durant mes tests pendant un jour et demi sans aucun souci, mais maintenant que j'en suis vers l'étape finale, il ne respecte plus l'adresse que je lui demande.

Ce code permet d'intervertir 2 licences (achetées et légales, je précise) pour le programme Solidworks (une qui est utilisée en locale et une qui donne accès à un gestionnaire de licences sur le réseau pour utiliser des modules avancés).

Je me retrouve donc avec un problème lors de l'écriture dans la base de registre.

Pour une raison que je ne détermine pas, les clés ne sont pas écrites dans les adresses des variables $Cle1, $Cle2 ou $Cle3, mais dans l'adresse suivante : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SolidWorks\...

Comment résoudre ce problème ?

Voici un extrait de mon code (les parties qui contiennent [...] sont fonctionnelles et je ne les ai pas incluses ici) :
► Afficher le texte
Autre chose, je n'ai pas totalement saisi comment inclure dans le code une identification auto en admin avec mot de passe stocké dans le code (la raison qui m'a conduit à changer mon code VBS en code autoit). Si quelqu'un pouvait m'y apporter son éclairage, je lui en serais gré.

Et enfin dernière chose, j'ai 3 variables déclarées pour les caractères spéciaux dans les msgbox (voir code ci-dessous), mais ce que je ne comprend pas, c'est que lorsque dans le logiciel d'écriture, je fais "Go" pour lancer le code et le tester, il me met ces trois caractères spéciaux à l'emplacement de mon curseur de texte ... ça rend fou !!

Code : Tout sélectionner

Local $e="é"
Send ($e)
Local $a="à"
Send ($a)
Local $x="'"
Send ($x)
Merci d'avance :)

Re: [..] Problème d'adressage dans base de registre

Posté : jeu. 14 janv. 2016 14:29
par TommyDDR
1) Vous compilez votre programme en 32Bit, par défaut le programme écrira donc dans Wow6432Node, si vous voulez forcer à écrire dans "HKEY_LOCAL_MACHINE\SOFTWARE", remplacez "HKEY_LOCAL_MACHINE" par "HKEY_LOCAL_MACHINE64" ou "HKLM64".

2) En AutoIt aussi vous devrez stocker le mot de passe dans le code, et en AutoIt aussi les gens pourront trouver le mot de passe (plus difficilement qu'en vbs, je vous l'accorde).

3) Si vous lisez l'aide de "Send" vous verrez qu'il agit exactement comme il devrait agir -> Envoyer le texte à l'endroit où est le focus.

Re: [..] Problème d'adressage dans base de registre

Posté : jeu. 14 janv. 2016 15:42
par yoyohum04
Re-bonjour

1) C'est bon

2) Le but n'est pas d'empêcher une éventuelle récupération du mot de passe, mais juste éviter à des utilisateurs ayant un niveau très moyen en informatique de pouvoir l'éxécuter au niveau administrateur. Je n'ai juste pas bien réussi à comprendre la syntaxe du Runas en utilisant le script interne et non un fichier externe

3) J'ai compris

Merci :)

Re: [..] Problème d'adressage dans base de registre

Posté : jeu. 14 janv. 2016 16:04
par jguinch
Bien, si le problème est résolu, merci de passer le titre du premier message en [R]

Re: [..] Problème d'adressage dans base de registre

Posté : lun. 18 janv. 2016 10:07
par yoyohum04
Bonjour,

Le problème d'adressage est résolu, mais pas le point 2) où je demandais comment inclure dans un script des modalités de connexion à un domaine pour exécuter le script, et non effectuer un script externe en y faisant appel.

Si une âme charitable pouvait m'aider sur la syntaxe, ce serait parfait

Re: [..] Problème d'adressage dans base de registre

Posté : lun. 18 janv. 2016 12:19
par jguinch
En fait, tu peux que ton programme s'exécute avec un compte admin, c'est ça ?
Dans ce cas, il faut regarder du côté de RunAs ou RunAsWait