Registre compter clés / accéder collection ???

thomascorrege Messages postés 6 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 1 février 2007 - 16 oct. 2004 à 11:48
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 16 oct. 2004 à 18:23
Bonjour,
Les utilisateurs de portable qui se déplacent sont confrontés à leurs presatataires de connexion internet en ce qui concerne SMTP.
Puisque les serveurs SMTP vérifient que c'est une de leur connexion qui envoie le mail...

J'ai bidouillé un script qui les change à la volée, mais :
ce n'est pas "portable" : en effet chaque compte est stocké à
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000xyz\SMTP Server
où xyz représentent le n° des comptes. Il peut y avoir des gaps si un compte a été supprimé.
Peut-on compter les clés ?
Ou acceder à une collection ? pour
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\
sans pour autant construire 10000 chaine de caractères ???

Merci à ceux qui ont une idée...ou plus si performance.
cdt
Thomas

10 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 oct. 2004 à 12:36
Bhà en fait peu importe où je me connecte, au boulot, à la maison, en vacances, j'y accède sans pb. Mon pb viens que comme je n'ai que des connection ADSL, la connection ADSL vérifie mon abonnement en fonction de mon numéro d'appel téléphonique, donc au taf et à la maison ça va, mais en vacance comme je ne passe que 2 semaines dans la maison, je ne vais pas prendre un abo ADSL pour 2 semaines donc je me retourne à un Free access, mais j'ai tjs acces à mes serveurs SMTP sans avoir à faire de truc bizzar

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 oct. 2004 à 17:20
Je ne vois pas le pb. Du moment qu'on a une connexion, à défaut de pouvoir utiliser le logiciel de messagerie, on peut toujours aller sur le webmail (en tous cas chez Free). Si tu te souviens du nom de ton compte et de ton mot de passe, no problemo.

Cordialement, CanisLupus
0
thomascorrege Messages postés 6 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 1 février 2007
16 oct. 2004 à 17:41
Bon,
Visiblement je n'ai pas assez détaillé.
Donc, Le serveur SMTP que tu utilises est généralement fourni par ton FAI. Tu peux avoir plusieurs FAI, selon l'ndroit ou tu es.
Par exemple, au trvail, et à la maison.
Or, les serveurs les firewal des SMTP, vérifient, si l'IP de l'émetteur correspond à une de leur clients ( plages d'adresses attribuées à la connexion). Donc, si avec ton portable, tu change d'endroit, et donc de FAI, tu dois changer les SMTP, et prendre celui qui lui correspond.

En plus, on a souvent plusieurs comptes de messagerie. Ils sont là : HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000xyz\SMTP Server
En général xyz ={001,002,003, }
Mais, si tu supprimes un compte, alors tu as par exemple :
xyz ={001,003, }.
Donc, pour accéder à cette partie du registre, j'ai besoin d'une idée ou d'une technique :
Idée1 optimiser : on peut accéder à une collection et faire un for each, le tour est joué, mais je ne sais pas faire.
Idée2 bourin malin : Si on connais le nombre de compte, sans le demander à l'utilisateur, on peut chercher les chaine, jusqu'à ce que l'on ait le compte ( il suffit de récupérer les erreurs d'un mauvais accès ( ex002)). Mais je ne sais pas les compter.

Idée3 bourin² : on parcourt les 99 999 999 chaine possibles ...
Voilà, jespère avoir été plus clair...
Bon we
Thomas
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 oct. 2004 à 17:46
Ayé j'ai piger, c'est seulement dans le cas où tu as des FAI différent en fonction de là où tu te trouve. ok j'avais pas compris, sorry. Le mieux c'est de faire un soft qui contient tout les SMTP des FAI, ex : smtp.wanadoo.fr / smtp.free.fr / etc... et de le coller dans ton programme/Démarrage, ensuite celui-ci test l'adresse Ip que tu as et change la clé dans ton registre.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thomascorrege Messages postés 6 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 1 février 2007
16 oct. 2004 à 17:58
Désolé,
mais t'as presque tout compris ( d'abord l'IP que tu peux lire est celle de ton réseau local, mais pas celle de ton FAI ( partie externe de ta passerelle).

Le problème est de parcourir dans la base de registre les clés qui vont bien puisque :
a priori on ne sait pas combien il y en a
ni leur nom ! !
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 oct. 2004 à 17:58
Dans ce cas, CE CODE devrait t'aider.

Cordialement, CanisLupus
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 oct. 2004 à 18:04
Juste correction, je connais mon Ip :82.153.44.xx

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 oct. 2004 à 18:05
Autre chose, les clés que tu nous montre sont en fait tout les compte e-mail de Outlook.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
thomascorrege Messages postés 6 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 1 février 2007
16 oct. 2004 à 18:15
Re CanisLupus,
Tu penses auquel en particulier ??

Re Chris "Juste correction",
Si tu as accès à 2 réseau locaux, qui ont les même adresses de réseaux privé 19.168.1.X, chacun peut avoir un FAI différent. Donc le test IP n'est pas bon.

Re "Autre chose"
Je ne sais pas si c'est pareil pour Outlook et Outlook Express, en tout cas celles montrées viennent de OE 6.00.2900.2180 SP2..

----------------------------------------------------------------
Voilà mon code déjà existant qui marchait pour moi ...

'programme principal
'ce programme est utile aux utilisateurs de portables il permet d'utiliser le serveur
'SMTP autorisé pour leur réseau local où ils se trouvent, leur acces personnelaussi
'dans mons cas il active  le proxy dans le cas ou je suis au lycée
'n executez ce script que si vous comprenez tout  !!!!
'sauvegardez votre base de registre avant.
'thomas Corrège 2002

L_Welcome_MsgBox_Message_Text   = "Modification des serveurs smtp"
L_Welcome_MsgBox_Title_Text     = "Modification des serveurs smtp TCO"
Call change_smtp() ' permet de quitter si pas OK

'création des objets liés aux registres
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")

'initialisation des variables correspondant à mes serveurs ! ! 
wanadoo="smtp.wanadoo.fr"
iufm = "melurss.toulouse.iufm.fr"
aca="envoi1.ac-toulouse.fr"
club="mail.club-internet.fr"

'dans la base de registre les comptes sont de messagerie sont numérotés, si un compte est supprimé, son n° est "perdu"
dim t(10)
t(1)="00000002"
t(2)="00000003"
t(3)="00000004"
t(4)="00000007"
t(5)="00000008"
t(6)="00000009"
t(7)="00000002"
'Ca marche jusqu'à 9 comptes, je travaille à l'automatisation
nb  = inputbox( " Combien avez-vous de comptes ? (6) ")

'Saisie du serveur à utiliser.
rep = inputbox( " 1 pour wanadoo" & chr(13) & _ 
" 2 pour iufm" & chr(13) & _ 
" 3 pour ac-toulouse"& chr(13) & _ 
" 4 pour club internet")
if rep = 1 then 
        smtp = wanadoo
  elseif rep = 2 then
  		smtp = iufm
  elseif rep = 3 then 
 	smtp=aca
elseif rep = 4 then 
 	smtp=club
end if

'modif des serveurs SMTP
for i = 1 to nb
'on error goto suite
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts" & t(i) & "\SMTP Server", smtp
msgbox ( WSHShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts" & t(i) & "\Account Name") _
 & " OK")

next 
'suite:
'cocher ou décocher l'utilisation du proxy dans les paramètres internet pour ceux qui utilisent IE
if rep = 3 then 
WSHShell.RegWrite "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1,"REG_DWORD"
else
WSHShell.RegWrite "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 0,"REG_DWORD"
end if

 WSHShell.Run "Msimn.exe" 'lancement d'outlook expresse c est le but ultime

' ********************************************************************************
' *
' *
Sub change_smtp()
    Dim intDoIt

    intDoIt =  MsgBox(L_Welcome_MsgBox_Message_Text,    _   
                      vbOKCancel + vbInformation,       _
                      L_Welcome_MsgBox_Title_Text )
    If intDoIt = vbCancel Then
        WScript.Quit
    End If
End Sub

'doc M$ : www.microsoft.com/france/support/ ascent/data/SKT_WSH.doc
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 oct. 2004 à 18:23
Scuses, j'ai pas copié le bon :

http://vbnet.mvps.org/code/reg/regaccounts.htm

Ca te permet de lister et donc de compter les comptes messagerie dans ta registry.

Cordialement, CanisLupus
0
Rejoignez-nous