2009-02-16 10 views
1

Bleh; Savoir comment poser la question est toujours le plus dur, alors j'explique un peu plus.Désactiver le débogage de script IE via le contrôle IE

J'utilise CAxWindow pour créer une fenêtre IE en interne et en passant dans l'URL par l'argument de la classe chaîne:

CAxWindow wnd; 
m_hwndWebBrowser = wnd.Create(m_hWnd, rect, m_URI, WS_CHILD|WS_DISABLED, 0); 

Il fait partie d'un utilitaire automatisé pour quiconque d'obtenir des images de leur javascript « interne » applications basées sur le Web le problème est que certaines personnes essaient d'obtenir des images de leurs applications qui ont beaucoup d'erreurs; Les erreurs déclenchent la fenêtre de débogage IE et mon utilitaire de capture est en attente d'entrée. Au début, je pensais que je pouvais désactiver la capacité de débogage via IE dans Windows, mais le processus que fonctionne Apache et donc mon application est via le compte système; Je ne sais pas comment je changerais les options de débogage sans pirater le registre.

Répondre

0

J'ai trouvé quelques projets sur CodeProject qui fait quelque chose de similaire ...

http://www.codeproject.com/KB/shell/popupblocker.aspx?fid=15235&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=51&select=646577

http://www.codeproject.com/KB/shell/popupblocker2.aspx?df=100&forumid=15709&fr=51&select=548519#xx548519xx

Et aussi un article MSDN concernant la personnalisation du navigateur Web:

http://msdn.microsoft.com/en-us/library/aa770041(VS.85).aspx

J'ai trouvé que ce que j'étais après était deux nterfaces appelées: IOleCommandTarget et IDocHostUIHandler; Je devais remplacer le gestionnaire d'interface utilisateur et interpréter les messages d'exception du script et répondre par un «faux» pour indiquer que je me fichais de l'erreur; Malheureusement, j'ai passé trop de temps à remettre ma tête dans COM et à essayer de mettre en place leur système diabolique que je n'ai pas pu finir et après une discussion avec mon équipe pour passer plus de temps à essayer d'obtenir ce travail ou simplement le débogage de désactivation dans IE; nous avons choisi le plus tard.

3 mots; Je déteste COM :-p (le smilie ne compte pas)

Je pense que le chemin sur lequel je me trouvais résoudrait le problème que j'avais et ma réponse peut contribuer en tant que «réponse»; désolé si ce n'est pas ce que vous cherchez.

+0

Seul MS pourrait utiliser des crochets dans leurs URLs :-p –

0

Serait-il possible de tout emballer dans un try/catch dans le code javascript qui est affiché dans le CAxWindow à cette URL? Cela vous permettrait d'éliminer toutes les erreurs, espérons-le.

+0

Essayé cela; Bien qu'une "exception" soit lancée, elle est déjà traitée via l'interface utilisateur du navigateur Web. –

+0

Je me référais à une tentative d'attraper dans le code HTML, pas le code appelant le html –

0

Liez votre application avec detours ou une autre bibliothèque d'accrochage API, connectez la fonction RegQueryValue de advapi32 et renvoyez "yes" lorsque IE interroge la valeur de la clé de registre "HKCU\Software\Microsoft\Internet Explorer\Main\Disable Script Debugger".