如何从Silverlight应用程序中检测操作系统?
问题描述:
我有一个Silverlight3应用程序,可以在Windows和Mac OS环境中运行。我希望在运行时知道我的应用程序是在Windows还是Mac上运行,这样我就可以根据用户在其选择的操作系统中习惯的方式调整一些东西。例如,在Windows中,使用“确定”“取消”按钮是常态,而在Mac OS中,规范是“取消”“确定”按钮(相反顺序)。如何从Silverlight应用程序中检测操作系统?
任何想法?
答
有两种方法。
Silverlight的:
string os = Environment.OSVersion.Platform.ToString();
string version = Environment.OSVersion.Version.ToString();
从ASP.NET并将其发送给Silverlight的:
StringBuilder sb = new StringBuilder();
sb.AppendFormat("UserAgent={0}", Request.UserAgent);
Xaml1.InitParameters = sb.ToString();
答
对Silverlight并不熟悉,但我敢打赌,您可以获得User-Agent
HTTP标头,其中包含操作系统名称。
嗯..在64位的Win7上运行的Silverlight 5的64位IE浏览器,它仍然说Win32NT。 – felickz 2012-04-19 14:40:20