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

ShellExecute mailto:

1 réponse
Avatar
Gloops
Bonjour tout le monde,

Sur une page web je vois un lien
"mailto:dest@cvmail.com?subject=3DAnalyste%20D%E9veloppeur%20Informatique=
"

Ma messagerie est (=E0 tort j'imagine) allergique =E0 cette syntaxe, et l=
e=20
pourcent et tout ce qui suit sont transform=E9s en points d'interrogation=
=2E

J'ai =E9crit un programme qui d=E9code cette adresse, ce qui donne donc

mailto:dest@cvmail.com?subject=3DAnalyste D=E9veloppeur Informatique

Si je mets =E7a dans un lien sur une nouvelle page web, locale, lorsque j=
e=20
clique dessus j'ai bien la fen=EAtre de r=E9daction de mail avec le sujet=
en=20
entier sans probl=E8me.

En revanche j'essaie de pousser le bouchon plus loin, et de faire en=20
sorte que mon programme ouvre directement la fen=EAtre d'=E9criture de ma=
il.=20
A ce niveau =E7a se g=E2te un peu : j'ai bien une fen=EAtre d'=E9criture =
de=20
mail, mais dans le sujet, =E0 la place du e accent aigu, j'ai un espace=20
(la suite est correcte).

Je r=E9capitule :
- j'envoie l'adresse d=E9cod=E9e, =E0 savoir le deuxi=E8me mailto: reprod=
uit=20
ci-dessus, de deux mani=E8res
- si je clique dessus dans Firefox, j'obtiens bien le r=E9sultat escompt=E9=
=20
(=E0 part la lourdeur de la proc=E9dure)
- si je l'envoie par ShellExecute, j'obtiens un espace =E0 la place du=20
caract=E8re accentu=E9.

Le fait d'avoir le r=E9sultat correct me fait penser que la messagerie=20
n'est pas =E0 incriminer cette fois, d'autant que ce week-end les tests=20
=E9taient concluants de bout en bout.

Y aurait-il des particularit=E9s dans le fonctionnement de ShellExecute ?=


Voici la commande (avec le mailto dans strURL) :


ShellExecute 0, vbNullString, strURL, vbNullString, "C:\", SW_SHOWNORMAL


et sa d=E9claration :


Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL =3D 1

1 réponse

Avatar
Gloops
Ah, il semble qu'il faille envisager le problème sous un autre angle :
une fois la machine redémarrée, les caractères accentués sont de retour
dans les sujets de mails démarrés par ShellExecute.

A force d'ajouter des choses sur une machine, il arrive un moment où
elle a du mal à suivre.

Je crois bien que j'ai appelé au secours pour rien ...
_____________________________________
Gloops a écrit, le 09/05/2007 15:38 :
Bonjour tout le monde,

Sur une page web je vois un lien
"mailto:?subject=Analyste%20D%E9veloppeur%20Informatiq ue"

Ma messagerie est (à tort j'imagine) allergique à cette syntaxe, et le
pourcent et tout ce qui suit sont transformés en points d'interrogati on.

J'ai écrit un programme qui décode cette adresse, ce qui donne donc

mailto:?subject=Analyste Développeur Informatique

Si je mets ça dans un lien sur une nouvelle page web, locale, lorsque je
clique dessus j'ai bien la fenêtre de rédaction de mail avec le suj et en
entier sans problème.

En revanche j'essaie de pousser le bouchon plus loin, et de faire en
sorte que mon programme ouvre directement la fenêtre d'écriture de mail.
A ce niveau ça se gâte un peu : j'ai bien une fenêtre d'écritur e de
mail, mais dans le sujet, à la place du e accent aigu, j'ai un espace
(la suite est correcte).

Je récapitule :
- j'envoie l'adresse décodée, à savoir le deuxième mailto: repr oduit
ci-dessus, de deux manières
- si je clique dessus dans Firefox, j'obtiens bien le résultat escomp té
(à part la lourdeur de la procédure)
- si je l'envoie par ShellExecute, j'obtiens un espace à la place du
caractère accentué.

Le fait d'avoir le résultat correct me fait penser que la messagerie
n'est pas à incriminer cette fois, d'autant que ce week-end les tests
étaient concluants de bout en bout.

Y aurait-il des particularités dans le fonctionnement de ShellExecute ?

Voici la commande (avec le mailto dans strURL) :


ShellExecute 0, vbNullString, strURL, vbNullString, "C:", SW_SHOWNORMA L


et sa déclaration :


Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1