Visual studio 当Internet Explorer';在visualstudio中嵌入

Visual studio 当Internet Explorer';在visualstudio中嵌入,visual-studio,internet-explorer,user-agent,Visual Studio,Internet Explorer,User Agent,在Visual Studio 2015中启动嵌入式Internet Explorer时,它以用户代理字符串的形式宣传自己为IE9(即使实际上是IE11)。这会导致Udemy等网站出现问题。我已按照以下网站中的说明进行操作: 我在注册表(32位/64位)中存在的两个功能\u浏览器\u仿真项下插入了一个名为“devenv.exe”的新注册表项。所述REG_DWORD的十六进制值为11001(十进制),即2af9。我也试过11000次,但也没有乐趣。此注册表调整适用于除Visual Studio之外

在Visual Studio 2015中启动嵌入式Internet Explorer时,它以用户代理字符串的形式宣传自己为IE9(即使实际上是IE11)。这会导致Udemy等网站出现问题。我已按照以下网站中的说明进行操作:


我在注册表(32位/64位)中存在的两个功能\u浏览器\u仿真项下插入了一个名为“devenv.exe”的新注册表项。所述REG_DWORD的十六进制值为11001(十进制),即2af9。我也试过11000次,但也没有乐趣。此注册表调整适用于除Visual Studio之外的所有其他应用程序。在Internet Explorer选项下,我找不到任何可能有帮助的选项。对于如何解决此问题的任何见解,我们都将不胜感激。

好消息和坏消息

  • 好消息是,Visual Studio似乎将其“devenv.exe”REG_DWORD放在了另一个位置(根据:
HKEY\当前\用户\软件\ Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\浏览器\仿真

在上面的注册表中,“devenv.exe”默认设置为9999

  • 坏消息是,即使将上面的“devenv.exe”更改为11000,Visual Studio在重新启动时也会将该值恢复为9999
从各方面考虑,唯一的选择(至少在我看来)是启动Visual Studio并让它完全加载,然后将devenv.exe更改为11000,然后按此顺序在Visual Studio内部启动IE。有了这个棘手的顺序,IE将作为IE11 inside发布,而不是。也许更好的方法是创建某种脚本,以更轻松地实现相同的效果

更新:我创建了一个小型C#实用程序,每次登录后,您可以每隔5分钟通过Windows调度程序调用它。该实用程序将连续运行5分钟,然后从Windows计划程序停止并重新启动(必须传递命令行参数“5”,才能执行此操作)。每隔10秒左右,该实用程序就会将上述注册表项设置为11000


如果有比这更好的方法,请随时向我提供提示。

这是一个很好的例子,说明了为什么网站应该避免依赖用户代理字符串。我知道你不能对第三方网站做任何事情(除了向他们的所有者抱怨),但是开发者现在真的应该明白这一点;许多有影响力的人对此喋喋不休地谈论了很久。