2012-12-12 32 views
5

Theo Enable and Control DWM Composition:DwmIsCompositionEnabled có còn được sử dụng trong Windows 8 không?

Note Tính đến Windows 8, các thông tin trong phần này không còn hợp lệ. DWM không còn bị vô hiệu hóa theo chương trình nữa, cũng không bị vô hiệu hóa khi ứng dụng cố gắng vẽ đến màn hình chính bề mặt. Thông tin sau đây chỉ áp dụng cho các hệ thống trước đó của Windows 7 và .

OK. Vì vậy, chúng tôi không còn có thể lập trình vô hiệu hóa DWM nữa. Nhưng nó vẫn có thể bị vô hiệu hóa? Liệu pfEnabled của DwmIsCompositionEnabled luôn được đặt thành TRUE trên Windows 8?

Nếu thành phần có thể bị vô hiệu hóa bằng cách nào đó, DwmIsCompositionEnabled vẫn có phần hữu ích theo bất kỳ cách nào không?

+0

Không thể có bất kỳ ứng dụng Cửa hàng nào không có DWM. Tôi không nhận được điểm của câu hỏi, bạn sẽ viết mã mà chỉ có thể chạy trên Win8 nhưng không phải trên Win7?Đó là một chút không khôn ngoan. –

+2

Điều gì khiến bạn nghĩ vậy? Ứng dụng của tôi vẽ tùy chỉnh trên Vista/7 phụ thuộc vào trạng thái DWM vì vậy tôi chỉ muốn biết liệu DwmIsCompositionEnabled có luôn trả về true trên Windows> = 8. –

Trả lời

8

Theo Desktop Window Manager is always on (Windows) trên MSDN:

Trong Windows 8, Desktop Window Manager (DWM) là luôn ON và không thể tàn tật bởi người dùng cuối và các ứng dụng.

Trong Windows 8, cấu phần máy tính để bàn DWM là hệ điều hành lõi thành phần và không thể tắt được. Với một vài ngoại lệ, máy tính để bàn bố cục luôn ở trên; nó được bắt đầu trước khi người dùng đăng nhập và vẫn hoạt động trong khoảng thời gian của phiên.

Tất cả các tùy chọn cho việc vô hiệu hóa thành phần máy tính để bàn mà tồn tại trong Window 7 được loại bỏ

Apps không thể sử dụng DwmEnableComposition để vô hiệu hóa thành phần máy tính để bàn. Để duy trì tính tương thích ngược, một cuộc gọi đến API này sẽ trả về thành công; tuy nhiên, thành phần trên máy tính để bàn không bị tắt

Vâng, có một câu trả lời khá dứt khoát. Tôi hơi tò mò những gì "với một vài ngoại lệ" đề cập đến, mặc dù ... xin vui lòng thêm một bình luận nếu bạn xảy ra để biết. :)

3

Trái ngược với những gì mọi người đề cập đến ("họ loại bỏ mã", "chủ đề cơ bản không còn ở đó", vv) phong cách hình ảnh cũ vẫn còn sống và cũng trong Windows 8.

duy nhất vấn đề là nó không rõ ràng như thế nào để sử dụng nó cho các ứng dụng bình thường!

này không được vô hiệu hóa DWM cho mỗi gia nhập, nhưng nó chắc chắn là vô hiệu hóa phần: chỉ cần tải Calculator PowerToy cho Windows XP và thử chạy nó trong chế độ tương thích trong Windows 8, và bạn sẽ thấy chủ đề cũ là vẫn ở đó:

+1

Về mặt kỹ thuật hay không, bất kỳ ứng dụng nào cũng có thể thiết lập chính sách hiển thị không phải khách hàng DWM để vô hiệu hóa với DwmSetWindowAttribute phương pháp, sau đó chủ đề cơ bản xuất hiện lại thay vì kính. Tuy nhiên, afaik không thay đổi những gì mà IsCompositionEnabled trả về vì đó là trạng thái hệ thống toàn cục và không phải là một trong các ứng dụng. –

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