2009-07-16 9 views
0

J'ai un add-on IE8 qui a besoin de connaître les arguments de la ligne de commande spécifiés par l'utilisateur.Comment obtenir les arguments de la ligne de commande IE8 à partir du module complémentaire

Le problème est que les processus réels ont des lignes de commande:

c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79873 
c:\program files\Internet Explorer\iexplore.exe SCODEF:5740 CREDAT:79880 

au lieu de

c:\program files\Internet Explorer\iexplore.exe www.yahoo.com 
c:\program files\Internet Explorer\iexplore.exe www.google.com 

Alors, comment puis-je obtenir de vrais arguments d'add-on?

Répondre

1

Dans IE8, vous ne pouvez pas facilement faire cela. Les arguments de la ligne de commande sont envoyés au processus de l'image LCIE et seules les informations du processus LCIE sont transmises au processus de l'onglet LCIE. Toutes les données de ligne de commande sont transmises en tant qu'indicateurs au processus d'onglet à l'aide de la mémoire partagée. Pour faire ce que vous demandez, vous devez regarder le paramètre de ligne de commande SCODEF pour trouver l'identificateur de processus du processus d'image LCIE hôte, puis examiner la ligne de commande de ce processus.

Il peut être utile de comprendre pourquoi vous voulez faire cela.

+0

1. Merci pour vos idées :-) 2. Pourquoi ai-je besoin de cela ... Mon application démarre IE avec un module complémentaire, et j'ai besoin de passer certains paramètres à ce module. 3. Vous avez suggéré de trouver le processus parent par SCODEF. Cela fonctionne pour une instance, mais si nous avons 5 instances, elles font toutes référence au même processus parent, et ainsi seule la ligne de commande de première instance peut être lue. – alex2k8

+0

Peut être que je peux lire des données de la mémoire partagée? Je suppose que CREDAT est utilisé pour l'identifier? Y a-t-il des informations à ce sujet? – alex2k8

+0

Tenter de lire les structures internes de IE n'est pas supporté, et même si vous avez compris comment le faire aujourd'hui, il se cassera plus tard. Vous devez concevoir votre module complémentaire de sorte que l'exigence "read-the-command-line" soit supprimée. – EricLaw

Questions connexes