Tôi có ứng dụng toàn cầu sử dụng video được bảo vệ bởi PlayReady DRM hay không. Vấn đề với PlayReady là nó chỉ hoạt động nếu kiến trúc xây dựng ứng dụng phù hợp với kiến trúc CPU (ví dụ: ARM xây dựng trên ARM, x64 trên CPU 64bit, x86 trên CPU 32 bit). Điều này là do thiết kế (vì một số lý do).Phát hiện xem CPU có 64bit trong Ứng dụng toàn cầu (Windows)
Vì vậy, vấn đề là, nếu người dùng có CPU 64 bit và chạy hệ điều hành 32 bit. Trong trường hợp này, anh ta nhận được phiên bản x86 từ cửa hàng (vì hệ điều hành 32bit) nhưng PlayReady sẽ không hoạt động vì chỉ số CPI 64 bit so với phiên bản X86 không phù hợp. Trong trường hợp này, tôi muốn hiển thị một tin nhắn (thay vì chỉ không phát video).
Tôi có thể phát hiện dễ dàng phát hiện cấu trúc x86 (bằng cách thêm ký hiệu có điều kiện), nhưng làm cách nào để phát hiện xem CPU có phải là 64 bit không? Không có gì giống như System.Environment.Is64BitOperatingSystem
từ toàn bộ .NET.
http://stackoverflow.com/questions/767613/identifying-the-cpu-architecture-type-using-c-sharp xem câu trả lời về cách sử dụng P/Gọi để lấy kiến trúc bộ vi xử lý –
Tôi nghi ngờ đây là thực vấn đề, nó chỉ sai trên máy của bạn. Bất kỳ ai tải xuống ứng dụng từ Cửa hàng sẽ tự động nhận được phiên bản phù hợp. –
@HansPassant nope. Hãy tưởng tượng bạn có một máy tính bảng với 64bit Atom và Windows 8.1 32bit. Các cửa hàng sẽ cung cấp cho bạn một X86 được xây dựng và PlayReady sẽ không làm việc cho bạn. –