我有一個Silverlight3應用程序,可以在Windows和Mac OS環境中運行。我希望在運行時知道我的應用程序是在Windows還是Mac上運行,這樣我就可以根據用戶在其選擇的操作系統中習慣的方式調整一些東西。例如,在Windows中,使用「確定」「取消」按鈕是常態,而在Mac OS中,規範是「取消」「確定」按鈕(相反順序)。如何從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