2015-04-21 17 views
6

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.

+0

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ý –

+0

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. –

+0

@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. –

Trả lời

2

Bạn được phép P/Gọi Win32's GetNativeSystemInfo trong ứng dụng Windows Store (thông tin thêm về chữ ký P/Invoke here); nó trả về một cấu trúc bao gồm kiến ​​trúc bộ vi xử lý.
Tôi không thể tìm thấy bất kỳ thông tin nào về những gì nó trả về trong kịch bản x86 Windows trên máy x64 và tôi không có sẵn một máy để kiểm tra, nhưng đáng thử.

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. – dotctor

+0

@dotctor: Tôi đã chỉnh sửa bài đăng để làm cho câu trả lời rõ ràng hơn. –

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