我知道我们可以从用户代理字符串中检测主要版本和 SP 版本。
但是,我还需要区分修订版,即
2.0 RTM (x86) 2.0.50727.42
2.0 RTM (Vista) 2.0.50727.312
2.0 (KB928365) 2.0.50727.832
是 不同 对我来说,他们在用户代理中被报告如下:
Mozilla/5.0(兼容;MSIE 7.0;Windows NT 6.0;WOW64;SLCC1;.NET CLR 2.0.50727 ;Media Center PC 5.0;.NET CLR 3.0.045.3LR 077 .1; el-GR)
( http://en.wikipedia.org/wiki/List_of_.NET_Framework_versions )
任何方法都可以接受(Silverlight、Flash、Java 等),只要 不需要用户交互 .
更新:差不多了...签名的 .NET ActiveX 在中等安全级别(即在 Intranet 中)工作,在 Internet 设置中不起作用。
在 IE 中托管 Windows 窗体的工作方式似乎相同。如果我能找到如何指定我不需要高度信任就可以工作...
最佳答案
它是 trivial在 .NET 中创建浏览器小程序。可能有一些安全设置,但既然你说任何方法都是可以接受的,那么这也应该有效。从那里,您已经在浏览器中嵌入了一个完全可用的 .NET 应用程序。只检测像你这样的版本 normally would .
补充:我认为您也可以以某种方式指定您不需要完全信任,这将缓解安全问题。
关于.net - 从 Internet Explorer 检测 .net 框架版本和修订版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4832552/