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

DDE et Internet Explorer, problème de récupèration d'url

9 réponses
Avatar
ILoveCSharp
Bonjour à tous. Je développe une application au sein de laquelle je récupère
l'adresse et le titre de la page actuellement ouverte dans le navigateur.

J'ai fais des tests sur deux machines:

La première dispose de Maxthon (surcouche de IE) et IE 7
La seconde dispose de IE6

J'utilise la librairie NDDE pour les appels DDE. Voici ma portion de code :

using NDde;

...

DdeContext context = new DdeContext(this);

DdeClient _Client = new DdeClient("IExplore", "WWW_GetWindowInfo", context);
// Serveur DDE et topic

byte[] data = _Client.Request("sURL", 1, 60000); // Donnée à récupèrer
string str = System.Text.Encoding.UTF7.GetString(data).Replace("\r\n", "");
string[] tokens = str.Split(new char[] { ',' });
string u = tokens[0].Replace("\"", ""); // Titre
string t2 = tokens[1].Replace("\"", ""); // Url

_Client.Dispose();
context.Dispose();

Le code passe très bien avec Maxthon, mais pas avec IE, quelle que soit la
version.
J'obtiens seulement le message d'erreur suivant :

The DDEML failed to request IExplore|WWW_GetWindowInfo!sUrl

Je ne comprends pas pourquoi j'arrive à obtenir ce que je demande avec
Maxthon et pas avec IE.

9 réponses

Avatar
Paul Bacelar
Peut-être une désactivation de DDE réactivée par "Maxthon " ?
--
Paul Bacelar
MVP VC++

"ILoveCSharp" wrote in message
news:
Bonjour à tous. Je développe une application au sein de laquelle je
récupère
l'adresse et le titre de la page actuellement ouverte dans le navigateur.

J'ai fais des tests sur deux machines:

La première dispose de Maxthon (surcouche de IE) et IE 7
La seconde dispose de IE6

J'utilise la librairie NDDE pour les appels DDE. Voici ma portion de code
:

using NDde;

...

DdeContext context = new DdeContext(this);

DdeClient _Client = new DdeClient("IExplore", "WWW_GetWindowInfo",
context);
// Serveur DDE et topic

byte[] data = _Client.Request("sURL", 1, 60000); // Donnée à récupèrer
string str = System.Text.Encoding.UTF7.GetString(data).Replace("rn",
"");
string[] tokens = str.Split(new char[] { ',' });
string u = tokens[0].Replace(""", ""); // Titre
string t2 = tokens[1].Replace(""", ""); // Url

_Client.Dispose();
context.Dispose();

Le code passe très bien avec Maxthon, mais pas avec IE, quelle que soit la
version.
J'obtiens seulement le message d'erreur suivant :

The DDEML failed to request IExplore|WWW_GetWindowInfo!sUrl

Je ne comprends pas pourquoi j'arrive à obtenir ce que je demande avec
Maxthon et pas avec IE.


Avatar
ILoveCSharp
J'y ai pensé, j'ai donc cherché dans les options de Internet Explorer, mais
je n'ai rien trouvé concernant DDE.

Peut-être ais-je mal cherché...
Avatar
Paul Bacelar
Si c'est un nouveau DEV, laissez tombé rapidement DDE.
--
Paul Bacelar
MVP VC++

"ILoveCSharp" wrote in message
news:
J'y ai pensé, j'ai donc cherché dans les options de Internet Explorer,
mais
je n'ai rien trouvé concernant DDE.

Peut-être ais-je mal cherché...


Avatar
ILoveCSharp
Je vais difficilement pouvoir m'en passer puisque l'objectif principal de mon
application est de récupèrer l'URL courante sur les principaux navigateurs.

J'ai fais des appels DDE sur Firefox, Mozilla, Netscape et Opera (et
Maxthon) avec succès. Il n'y a que IE qui me résiste...
Avatar
Paul Bacelar
Utilisez COM pour IE, cela ira beaucoup plus vite et sera nettement plus
fiable.
--
Paul Bacelar
MVP VC++

"ILoveCSharp" wrote in message
news:
Je vais difficilement pouvoir m'en passer puisque l'objectif principal de
mon
application est de récupèrer l'URL courante sur les principaux
navigateurs.

J'ai fais des appels DDE sur Firefox, Mozilla, Netscape et Opera (et
Maxthon) avec succès. Il n'y a que IE qui me résiste...


Avatar
ILoveCSharp
COM pour IE me permettra de récupèrer les URL provenant de Firefox, Netscape
et Opera ?

"Paul Bacelar" a écrit :

Utilisez COM pour IE, cela ira beaucoup plus vite et sera nettement plus
fiable.
--
Paul Bacelar
MVP VC++

"ILoveCSharp" wrote in message
news:
> Je vais difficilement pouvoir m'en passer puisque l'objectif principal de
> mon
> application est de récupèrer l'URL courante sur les principaux
> navigateurs.
>
> J'ai fais des appels DDE sur Firefox, Mozilla, Netscape et Opera (et
> Maxthon) avec succès. Il n'y a que IE qui me résiste...





Avatar
ILoveCSharp
Mon problème n'est toujours pas résolu,
si quelqu'un avait une idée, ne serait-ce que sur l'emplacement d'une option
de IE empêchant par défaut les appels DDE (même dans la base de registre), ce
serait fort appréciable.
Avatar
Paul Bacelar
Je ne sais pas pour Firefox, Netscape et Opera mais pour IE, COM c'est
beaucoup plus fiable et rapide que DDE.

Rien ne vous empêche d'avoir de mécanique distincte de récupération d'URL,
non ?
--
Paul Bacelar
MVP VC++


"ILoveCSharp" wrote in message
news:
COM pour IE me permettra de récupèrer les URL provenant de Firefox,
Netscape
et Opera ?

"Paul Bacelar" a écrit :

Utilisez COM pour IE, cela ira beaucoup plus vite et sera nettement plus
fiable.
--
Paul Bacelar
MVP VC++

"ILoveCSharp" wrote in message
news:
> Je vais difficilement pouvoir m'en passer puisque l'objectif principal
> de
> mon
> application est de récupèrer l'URL courante sur les principaux
> navigateurs.
>
> J'ai fais des appels DDE sur Firefox, Mozilla, Netscape et Opera (et
> Maxthon) avec succès. Il n'y a que IE qui me résiste...







Avatar
ILoveCSharp
Non effectivement, mais avouez tout de même que mon problème est assez curieux.

Je vais exploiter votre idée. Merci :)