2009-09-10 19 views
8

Tôi có một ứng dụng Silverlight3 có nghĩa là chạy trên cả môi trường Windows và Mac OS. Tôi muốn biết trong thời gian chạy nếu ứng dụng của tôi đang chạy trên Windows hoặc Mac để tôi có thể tinh chỉnh một vài điều theo cách người dùng quen với hệ điều hành của họ lựa chọn.Cách phát hiện HĐH từ ứng dụng Silverlight?

Ví dụ, trong Windows, nó là chuẩn để sử dụng các nút "OK" "Hủy", trong khi ở Mac OS chỉ tiêu là "Hủy" nút "OK" (thứ tự ngược lại).

Bất kỳ ý tưởng nào?

Trả lời

13

Có hai cách.

Từ Silverlight:

string os = Environment.OSVersion.Platform.ToString(); 
string version = Environment.OSVersion.Version.ToString(); 

Từ ASP.NET và gửi cho Silverlight:

StringBuilder sb = new StringBuilder(); 
sb.AppendFormat("UserAgent={0}", Request.UserAgent); 
Xaml1.InitParameters = sb.ToString(); 
+2

Hmm .. trên 64 bit Win7 trên 64 bit IE chạy Silverlight 5 và nó vẫn nói Win32NT. – felickz

-1

Không quen thuộc với Silverlight, nhưng tôi đặt cược bạn có thể nắm giữ tiêu đề HTTP User-Agent, bao gồm tên hệ điều hành.

Các vấn đề liên quan