Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

récupérer l'adresse e-mail de l'utilisateur du carnet d'adresses

18 réponses
Avatar
Dan
Bonjour à tous
je sais maintenant comment récupérer le carnet d'adresses dans une zone de
texte.
Je cherche maintenant à savoir où je peux récupérer l'adresse e-mail de
l'utilisateur (mois en l'occurrence mais mon application peut être installée
chez d'autres utilisateurs)
d'avance merci de votre aide.
Dan

10 réponses

1 2
Avatar
Aski
Salutatoi Dan,

Tu t'es vachement avancé en affirmant :

Bonjour à tous
je sais maintenant comment récupérer le carnet d'adresses dans une
zone de texte.
Je cherche maintenant à savoir où je peux récupérer l'adresse e-mail
de l'utilisateur (mois en l'occurrence mais mon application peut être
installée chez d'autres utilisateurs)
d'avance merci de votre aide.
Dan



Cette adresses se trouve sous un des numéros de sous-clés de la clé
HKEY_CURRENT_USERSoftwareMicrosoftInternet Account ManagerAccounts
de la base de registre.
Pour y accéder en VB, il faut utiliser les API de gestion du registre.
Prévois d'en baver quelques jours pour te familiariser avec cette
programmation.
Google t'aidera dans ta recherche d'exemples.

Cordialement

Aski
Avatar
Dan
Merci,je vais m'y mettre avec obstination.

"Aski" a écrit dans le message de news:
enOct$
Salutatoi Dan,

Tu t'es vachement avancé en affirmant :

Bonjour à tous
je sais maintenant comment récupérer le carnet d'adresses dans une
zone de texte.
Je cherche maintenant à savoir où je peux récupérer l'adresse e-mail
de l'utilisateur (mois en l'occurrence mais mon application peut être
installée chez d'autres utilisateurs)
d'avance merci de votre aide.
Dan



Cette adresses se trouve sous un des numéros de sous-clés de la clé
HKEY_CURRENT_USERSoftwareMicrosoftInternet Account ManagerAccounts
de la base de registre.
Pour y accéder en VB, il faut utiliser les API de gestion du registre.
Prévois d'en baver quelques jours pour te familiariser avec cette
programmation.
Google t'aidera dans ta recherche d'exemples.

Cordialement

Aski



Avatar
Zoury
Salut ! :O)

Pour y accéder en VB, il faut utiliser les API de gestion du registre.
Prévois d'en baver quelques jours pour te familiariser avec cette
programmation.



Jètez un oeil à ma classe CRegistry... elle devrait vous faciliter la tâche
;O)
http://groups.google.com/group/microsoft.public.fr.vb/msg/5d1c5050c10a3740


--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Aski
Salutatoi Zoury,

Tu t'es vachement avancé en affirmant :

Salut ! :O)

Pour y accéder en VB, il faut utiliser les API de gestion du
registre. Prévois d'en baver quelques jours pour te familiariser
avec cette programmation.



Jètez un oeil à ma classe CRegistry... elle devrait vous faciliter la
tâche ;O)
http://groups.google.com/group/microsoft.public.fr.vb/msg/5d1c5050c10a3740



Merci Yanick. J'espérais ce complément d'information.

Aski
Avatar
Dan
Bonjour.
En regardant ce code je dois dire que là je suis vraiment perdu.
Je dirai même : autant de code pour récupérer une si petite adresse !
Blague à part par quoi je commence est-ce que j'en sais une application, un
OCX, un module jeu ne sait plus trop.
Pourrais-tu me donner un début de piste.
D'avance merci car je ne suis pas vraiment un grand expert en visuel
basique.

"Aski" a écrit dans le message de news:
%23Z%231kY%
Salutatoi Zoury,

Tu t'es vachement avancé en affirmant :

Salut ! :O)

Pour y accéder en VB, il faut utiliser les API de gestion du
registre. Prévois d'en baver quelques jours pour te familiariser
avec cette programmation.



Jètez un oeil à ma classe CRegistry... elle devrait vous faciliter la
tâche ;O)
http://groups.google.com/group/microsoft.public.fr.vb/msg/5d1c5050c10a3740



Merci Yanick. J'espérais ce complément d'information.

Aski




Avatar
Aski
Salutatoi Dan,

Tu t'es vachement avancé en affirmant :

Bonjour.
En regardant ce code je dois dire que là je suis vraiment perdu.
Je dirai même : autant de code pour récupérer une si petite adresse !
Blague à part par quoi je commence est-ce que j'en sais une
application, un OCX, un module jeu ne sait plus trop.
Pourrais-tu me donner un début de piste.
D'avance merci car je ne suis pas vraiment un grand expert en visuel
basique.



La classe donnée par Yanick donne toutes les fonctions permettant d'accéder
au registre. Il faut choisir dans ces fonctions, celle qui t'intéresse.
Dans notre cas, il suffit de lire la valeur de la clé contenant l'adresse.

Aski.
Avatar
Jacques93
Bonjour Dan,
Dan a écrit :
Bonjour.
En regardant ce code je dois dire que là je suis vraiment perdu.
Je dirai même : autant de code pour récupérer une si petite adresse !
Blague à part par quoi je commence est-ce que j'en sais une application, un
OCX, un module jeu ne sait plus trop.



C'est pour un jeu ? ;-)

Pourrais-tu me donner un début de piste.
D'avance merci car je ne suis pas vraiment un grand expert en visuel
basique.



Dans ton projet, tu fais :

Projet => Ajouter un module de classe

tu le nomme CRegistry, tu y fais un copier coller du code contenu dans
le lien que t'as indiqué Zoury :

http://groups.google.com/group/microsoft.public.fr.vb/msg/5d1c5050c10a3740

et dans une feuille avec un bouton tu colles :

Option Explicit

Private Const kIAM = "SoftwareMicrosoftInternet Account Manager"

Private Sub Command1_Click()
Dim reg As CRegistry
Dim DefaultMailAccount As String
Dim SMTPEmailAddress As String

Set reg = New CRegistry
DefaultMailAccount = reg.GetValueStr(bkhCurrentUser, _
kIAM, "Default Mail Account")
SMTPEmailAddress = reg.GetValueStr(bkhCurrentUser, _
kIAM & "Accounts" & DefaultMailAccount, _
"SMTP Email Address")
MsgBox SMTPEmailAddress
End Sub

--
Cordialement,

Jacques.
Avatar
Aski
Salutatoi Jacques93,

Tu t'es vachement avancé en affirmant :

Pourrais-tu me donner un *début de piste*.
D'avance merci car je ne suis pas vraiment un grand expert en visuel
basique.



Dans ton projet, tu fais :

Projet => Ajouter un module de classe

tu le nomme CRegistry, tu y fais un copier coller du code contenu dans
le lien que t'as indiqué Zoury :
et dans une feuille avec un bouton tu colles :



Ben, ce n'est pas vraiment un début ... ;-)

Cordialement

Aski
Avatar
Jacques93
Bonsoir Aski,
Aski a écrit :
Salutatoi Jacques93,

Tu t'es vachement avancé en affirmant :


Pourrais-tu me donner un *début de piste*.
D'avance merci car je ne suis pas vraiment un grand expert en visuel
basique.



Dans ton projet, tu fais :

Projet => Ajouter un module de classe

tu le nomme CRegistry, tu y fais un copier coller du code contenu dans
le lien que t'as indiqué Zoury :
et dans une feuille avec un bouton tu colles :




Ben, ce n'est pas vraiment un début ... ;-)




Je sais, ce n'est peut être pas la bonne méthode d'un point de vue
pédagoqique.
Mais, c'est pas gagné, le code de Zoury demande quelques 'révisions' (Ex
: RegOpenKeyEx et RegOpenKey sont utilisées, mais une seule est
déclarée. En principe ça ne plante qu'à la compil.

dans l'exemple une constante 'rkcLocalMachine', est utilisée ... Selon
que Option Explicit est présente ou pas ...

Le conseil que je peux donner à Dan , par rapport au volume du code
proposé par Zoury, c'est de tracer le programme avec <F8> il verra que
pour ses besoins actuels (clés de type REG_SZ) seule la fonction
GetValueStr est utilisée (13 lignes), et de consulter pas à pas là
valeur des variables et constantes. Et avec un peu de bonne volonté, il
s'appercevra qu'avec ce module de classe il peut (sous réserve des
droits d'accès) accéder à n'importe quelle clé du registre.

Le passage aux modules de classe, aux Dll Activex, Exe Activex, et OCX,
est loin d'être évidente, et un petit coup de pouce ça peut aider ;-)

PS Pour Zoury : Pourquoi, à moins d'avoir mal vu, n'avoir pas
implémenter l'accès aux registre distants, avec
RegConnectRegistry :-D

--
Cordialement,

Jacques.
Avatar
Picalausa François
"Jacques93" a écrit dans le message de news:

PS Pour Zoury : Pourquoi, à moins d'avoir mal vu, n'avoir pas
implémenter l'accès aux registre distants, avec
RegConnectRegistry :-D




Hello!

Voici une manière d'implémenter ceci:
'Dans les déclarations, ajouter:
Private Declare Function RegConnectRegistry _
Lib "advapi32.dll" _
Alias "RegConnectRegistryA" _
( _
ByVal lpMachineName As String, _
ByVal hKey As Long, _
phkResult As Long _
) _
As Long

'ailleurs dans le module:
Public Function GetRemoteBaseKey(ByVal MachineName As String, BaseKey As
eBaseKeyHandle) As Long
If Left$(MachineName, 2) <> "" Then MachineName = "" & MachineName

If RegConnectRegistry(MachineName, BaseKey, GetRemoteBaseKey) <>
NO_ERROR Then
GetRemoteBaseKey = 0
End If
End Function

Public Sub CloseRemoteKey(RemoteBaseKey As Long)
RegCloseKey RemoteBaseKey
End Sub

Cependant l'utilisation des autres wrappers est alors moins naturelle:
Dim RemoteHKCU As Long

'Ouverture de la clé distante
RemoteHKCU = reg.GetRemoteBaseKey("toto", bkhCurrentUser)

'Utilisation des autres wrappers
Debug.Print reg.KeyExists(RemoteHKCU, "key")

'Fermeture de la clé distante
Call reg.CloseRemoteKey(RemoteHKCU)

--
Picalausa François
1 2