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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
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.

On m'a suggéré d'utiliser COM pour IE, mais je dois pouvoir récupèrer ces informations depuis tout navigateur, et mon problème ne survient qu'avec IE. J'avais aussi pensé à une option de IE bloquant les appels DDE, mais je n'ai rien trouvé à ce sujet.

Toute aide est la bienvenue