Yah, cho dù cộng đồng phát triển có đồng ý hay không, Microsoft có một số tiêu chuẩn về thời điểm và lý do tại sao có thể chấp nhận việc sử dụng độc quyền màn hình.
Chiến lược chính thức nhất là sử dụng DirectX ở chế độ độc quyền. Đây là những gì trò chơi làm, những gì windows media player làm trong video toàn màn hình với tăng tốc phần cứng được kích hoạt, ... Nếu ứng dụng của bạn đa phương tiện (như được đề xuất bởi TV như chức năng), có thể bạn đang sử dụng DirectX . Bên cạnh việc cho phép bạn truy cập hiển thị độc quyền, nó cũng sẽ tăng hiệu suất ứng dụng của bạn trong khi giảm tải CPU (vì nó sẽ làm quá tải đồ họa làm việc với card màn hình khi có thể).
Nếu DirectX không phải là một tùy chọn, có rất nhiều hack có sẵn mà dường như tất cả đều hoạt động khác nhau giữa các thế hệ hệ điều hành windows khác nhau. Vì vậy, bạn có thể phải được chuẩn bị để thực hiện một số kỹ thuật để trang trải cho mỗi hệ điều hành bạn dự định hỗ trợ.
Một kỹ thuật là đặt ứng dụng của bạn làm trình bảo vệ màn hình hiện đang chạy. Một trình bảo vệ màn hình nếu thực sự chỉ là một EXE được đổi tên thành SCR với một số lệnh dòng lệnh nhất định, nó sẽ hỗ trợ. Nhưng bạn có thể viết ứng dụng của riêng mình làm trình bảo vệ màn hình và một trình khởi chạy nhỏ để đặt nó làm trình bảo vệ màn hình và khởi chạy nó. Khi thoát ứng dụng sẽ trả về các thiết lập bảo vệ màn hình ban đầu (có lẽ trình khởi chạy chờ quá trình thoát ra để nó trả về các thiết lập trong cả hai lối thoát duyên dáng và bất kỳ kết thúc quá trình không có kế hoạch, ví dụ: lỗi ứng dụng). Tôi không chắc chắn nếu hành vi này là nhất quán trên nền tảng mặc dù, bạn sẽ phải kiểm tra nó.
Ngăn các ứng dụng khác tạo cửa sổ xử lý thực sự là một hack trong quan điểm của tôi và khá xấu mà tôi sẽ không đánh giá cao như một khách hàng của phần mềm như vậy.
Gọi liên tục BringWindowToTop()
để giữ bạn ở phía trước tốt hơn (nó không phá vỡ phần mềm khác) nhưng vẫn còn một chút hack-ish.
Hmya, những thông báo này rất quan trọng. Để xem xét ứng dụng của bạn là quan trọng nhất là một trận chiến khó thắng. Nó cũng khá đáng ngờ để ngăn chặn "Bo mạch chủ đang cháy" notificaiton. Bạn sẽ phải thuyết phục Windows rằng người dùng đang tích cực sử dụng cửa sổ. Rất khó với một ứng dụng TV. Bạn có thể tạo ra một số đầu vào giả với hàm SendInput(). –
Lol, tôi không biết có thông báo "Bo mạch chủ đang cháy" – Randomblue
Bạn có thể kiểm tra nó bằng đèn pin thổi. –